From e9a616e5792977eabd6af902977ebac1425c04b5 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Thu, 12 Sep 2024 16:22:41 -0700 Subject: [PATCH] Added search_doc_ids to the simple api to allow for skipping search (#2421) * Added search_doc_ids to the simple api to allow for skipping search * comment * fixed behaviour --- .../ee/danswer/server/query_and_chat/chat_backend.py | 12 ++++++++++-- backend/ee/danswer/server/query_and_chat/models.py | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/backend/ee/danswer/server/query_and_chat/chat_backend.py b/backend/ee/danswer/server/query_and_chat/chat_backend.py index 143f81a57d4..55561982325 100644 --- a/backend/ee/danswer/server/query_and_chat/chat_backend.py +++ b/backend/ee/danswer/server/query_and_chat/chat_backend.py @@ -259,14 +259,22 @@ def handle_send_message_simple_with_history( history_str=history_str, ) + if req.retrieval_options is None and req.search_doc_ids is None: + retrieval_options: RetrievalDetails | None = RetrievalDetails( + run_search=OptionalSearchSetting.ALWAYS, + real_time=False, + ) + else: + retrieval_options = req.retrieval_options + full_chat_msg_info = CreateChatMessageRequest( chat_session_id=chat_session.id, parent_message_id=chat_message.id, message=query, file_descriptors=[], prompt_id=req.prompt_id, - search_doc_ids=None, - retrieval_options=req.retrieval_options, + search_doc_ids=req.search_doc_ids, + retrieval_options=retrieval_options, query_override=rephrased_query, chunks_above=0, chunks_below=0, diff --git a/backend/ee/danswer/server/query_and_chat/models.py b/backend/ee/danswer/server/query_and_chat/models.py index e2a32d3c56d..b1ea648c8f0 100644 --- a/backend/ee/danswer/server/query_and_chat/models.py +++ b/backend/ee/danswer/server/query_and_chat/models.py @@ -52,9 +52,11 @@ class BasicCreateChatMessageWithHistoryRequest(ChunkContext): messages: list[ThreadMessage] prompt_id: int | None persona_id: int - retrieval_options: RetrievalDetails = Field(default_factory=RetrievalDetails) + retrieval_options: RetrievalDetails | None = None query_override: str | None = None skip_rerank: bool | None = None + # If search_doc_ids provided, then retrieval options are unused + search_doc_ids: list[int] | None = None class SimpleDoc(BaseModel):