From cee001793ad94d34f80b27cc5ae0c22cf7e325ff Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 8 Apr 2025 00:19:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B3=BB=E7=BB=9F=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=8D=E7=9A=84=E6=94=AF=E6=8C=81=EF=BC=88=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E5=8F=A3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/routers/chat_router.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/server/routers/chat_router.py b/server/routers/chat_router.py index 50fb73f3..ad691346 100644 --- a/server/routers/chat_router.py +++ b/server/routers/chat_router.py @@ -24,12 +24,34 @@ async def chat_get(): def chat_post( query: str = Body(...), meta: dict = Body(None), - history: list | None = Body(None), + history: list[dict] | None = Body(None), thread_id: str | None = Body(None)): + """处理聊天请求的主要端点。 + Args: + query: 用户的输入查询文本 + meta: 包含请求元数据的字典,可以包含以下字段: + - use_web: 是否使用网络搜索 + - use_graph: 是否使用知识图谱 + - db_id: 数据库ID + - history_round: 历史对话轮数限制 + - system_prompt: 系统提示词(str,不含变量) + history: 对话历史记录列表 + thread_id: 对话线程ID + Returns: + StreamingResponse: 返回一个流式响应,包含以下状态: + - searching: 正在搜索知识库 + - generating: 正在生成回答 + - reasoning: 正在推理 + - loading: 正在加载回答 + - finished: 回答完成 + - error: 发生错误 + Raises: + HTTPException: 当检索器或模型发生错误时抛出 + """ model = select_model() meta["server_model_name"] = model.model_name - history_manager = HistoryManager(history) + history_manager = HistoryManager(history, system_prompt=meta.get("system_prompt")) logger.debug(f"Received query: {query} with meta: {meta}") def make_chunk(content=None, **kwargs):