diff --git a/app/schemas/recommendation/schedule_context.py b/app/schemas/recommendation/schedule_context.py index 38059c3..b6d21b5 100644 --- a/app/schemas/recommendation/schedule_context.py +++ b/app/schemas/recommendation/schedule_context.py @@ -42,7 +42,7 @@ class ScheduleContextResult(BaseModel): draft_revision: int = Field(alias="draftRevision") query_embedding: list[float] | None = Field(default=None, alias="queryEmbedding") embedding_status: EmbeddingStatus = Field(alias="embeddingStatus") - semantic_input_version: str = Field(default="v1", alias="semanticInputVersion") + semantic_input_version: str = Field(default="v2", alias="semanticInputVersion") schedule_context: ScheduleContext = Field(alias="scheduleContext") embedding_meta: EmbeddingMeta | None = Field(default=None, alias="embeddingMeta") error_code: str | None = Field(default=None, alias="errorCode") diff --git a/app/services/recommendation/schedule_context_service.py b/app/services/recommendation/schedule_context_service.py index a2e50f8..aef4169 100644 --- a/app/services/recommendation/schedule_context_service.py +++ b/app/services/recommendation/schedule_context_service.py @@ -24,11 +24,14 @@ def _build_semantic_input( self, request: RecommendationRequest, ) -> str: - event_title = " ".join( - request.event_title.split() + event_title = " ".join(request.event_title.split()) + embedding_words = " ".join( + " ".join(word.split()) + for word in request.embedding_words + if word.strip() ) - parts = [event_title] + parts = [embedding_words or event_title] def append_if_not_duplicated( value: str, @@ -46,9 +49,6 @@ def append_if_not_duplicated( parts.append(f"{prefix}{normalized_value}") - for word in request.embedding_words: - append_if_not_duplicated(word) - if request.place_candidate: append_if_not_duplicated( request.place_candidate, @@ -112,7 +112,7 @@ def structure_context( draftRevision=request.draft_revision, queryEmbedding=None, embeddingStatus="ERROR", - semanticInputVersion="v1", + semanticInputVersion="v2", scheduleContext=schedule_context, embeddingMeta=None, errorCode=exc.error_code.name, @@ -124,7 +124,7 @@ def structure_context( draftRevision=request.draft_revision, queryEmbedding=query_embedding, embeddingStatus="READY", - semanticInputVersion="v1", + semanticInputVersion="v2", scheduleContext=schedule_context, embeddingMeta=EmbeddingMeta( model=self.embedding_service.model,