diff --git a/index/Makefile b/index/Makefile index 34588f5..b39c322 100644 --- a/index/Makefile +++ b/index/Makefile @@ -1,24 +1,26 @@ -LOGIN ?= -PASSWORD ?= -TEAM_ID ?= +LOGIN ?= +PASSWORD ?= +TEAM_ID ?= 35230 DOCKER_REGISTRY_URL ?= 83.166.249.64:5000 PORT ?= 8000 IMAGE = $(DOCKER_REGISTRY_URL)/$(TEAM_ID)/index-service:latest -.PHONY: login build run push +.PHONY: login build run push release login: - @: $(if $(LOGIN),,$(error LOGIN is required for make login)) - @: $(if $(PASSWORD),,$(error PASSWORD is required for make login)) - docker login $(DOCKER_REGISTRY_URL) -u $(LOGIN) -p $(PASSWORD) + @: $(if $(LOGIN),,$(error LOGIN is required)) + @: $(if $(PASSWORD),,$(error PASSWORD is required)) + docker login $(DOCKER_REGISTRY_URL) -u $(LOGIN) -p $(PASSWORD) build: - @: $(if $(TEAM_ID),,$(error TEAM_ID is required for make build)) docker build --platform linux/amd64 -t $(IMAGE) ./ run: build docker run --rm -p $(PORT):8000 $(IMAGE) -push: login build +push: docker push $(IMAGE) + +release: build push + @echo "index-service pushed → $(IMAGE)" diff --git a/search/Makefile b/search/Makefile index 9a27320..fd3a6af 100644 --- a/search/Makefile +++ b/search/Makefile @@ -1,14 +1,14 @@ -LOGIN ?= -PASSWORD ?= -TEAM_ID ?= +LOGIN ?= +PASSWORD ?= +TEAM_ID ?= 35230 DOCKER_REGISTRY_URL ?= 83.166.249.64:5000 PORT ?= 8000 -QDRANT_URL ?= +QDRANT_URL ?= QDRANT_COLLECTION_NAME ?= evaluation -EMBEDDINGS_DENSE_URL ?= +EMBEDDINGS_DENSE_URL ?= EMBEDDINGS_DENSE_MODEL ?= Qwen/Qwen3-Embedding-0.6B API_KEY ?= dev-api-key -RERANKER_URL ?= +RERANKER_URL ?= QDRANT_DENSE_VECTOR_NAME ?= dense QDRANT_SPARSE_VECTOR_NAME ?= sparse @@ -16,15 +16,14 @@ REQUIRED_RUN_VARS := QDRANT_URL EMBEDDINGS_DENSE_URL API_KEY RERANKER_URL IMAGE = $(DOCKER_REGISTRY_URL)/$(TEAM_ID)/search-service:latest -.PHONY: login build run push check-run-env +.PHONY: login build run push release login: - @: $(if $(LOGIN),,$(error LOGIN is required for make login)) - @: $(if $(PASSWORD),,$(error PASSWORD is required for make login)) + @: $(if $(LOGIN),,$(error LOGIN is required)) + @: $(if $(PASSWORD),,$(error PASSWORD is required)) docker login $(DOCKER_REGISTRY_URL) -u $(LOGIN) -p $(PASSWORD) build: - @: $(if $(TEAM_ID),,$(error TEAM_ID is required for make build)) docker build --platform linux/amd64 -t $(IMAGE) ./ run: build @@ -41,5 +40,8 @@ run: build -e QDRANT_SPARSE_VECTOR_NAME=$(QDRANT_SPARSE_VECTOR_NAME) \ $(IMAGE) -push: login build +push: docker push $(IMAGE) + +release: build push + @echo "search-service pushed → $(IMAGE)" diff --git a/search/retrieval.py b/search/retrieval.py index c6208d3..6451d42 100644 --- a/search/retrieval.py +++ b/search/retrieval.py @@ -1,4 +1,3 @@ -from datetime import datetime from typing import Any from qdrant_client import AsyncQdrantClient, models @@ -15,13 +14,6 @@ from config import ( from schemas import Question, SparseVector -def _iso_to_unix(s: str) -> float: - try: - return datetime.fromisoformat(s.replace("Z", "+00:00")).timestamp() - except (ValueError, AttributeError): - return 0.0 - - def _build_filter(question: Question) -> models.Filter | None: must_conditions: list[models.Condition] = [] @@ -29,9 +21,9 @@ def _build_filter(question: Question) -> models.Filter | None: must_conditions.append( models.FieldCondition( key="metadata.start", - range=models.Range( - gte=_iso_to_unix(question.date_range.from_), - lte=_iso_to_unix(question.date_range.to), + datetime_range=models.DatetimeRange( + gte=question.date_range.from_, + lte=question.date_range.to, ), ) )