From 791fccb0ad72bd462adf11a87be29fa0bab2edca Mon Sep 17 00:00:00 2001 From: martsforever Date: Sun, 23 Nov 2025 18:42:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20KnowledgeQueryParam.kb=5Fcode=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=AE=BE=E7=BD=AE=E4=B8=BA=E6=95=B0=E7=BB=84=E6=A3=80?= =?UTF-8?q?=E7=B4=A2=E5=A4=9A=E4=B8=AA=E7=9F=A5=E8=AF=86=E5=BA=93=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/utils/milvus_utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/utils/milvus_utils.py b/app/utils/milvus_utils.py index 9ba67bf..d7c7017 100644 --- a/app/utils/milvus_utils.py +++ b/app/utils/milvus_utils.py @@ -1,5 +1,5 @@ import asyncio -from typing import List, Optional +from typing import List, Optional, Union from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate @@ -15,7 +15,7 @@ from app.utils.nltk_utils import load_nltk class KnowledgeQueryParam(BaseModel): question: str = Field(..., description="问题文本") - kb_code: str = Field(..., description="知识库编码") + kb_code: Union[str, List[str]] = Field(..., description="知识库编码") top_k: int = Field(default=5, description="返回结果数量") @@ -90,7 +90,7 @@ class MilvusService: embed_model=self.embeddings, ) - filters = MetadataFilters(filters=[MetadataFilter(key="parent_code", value=param.kb_code, operator=FilterOperator.EQ)]) + filters = MetadataFilters(filters=[MetadataFilter(key="parent_code", value=param.kb_code, operator=FilterOperator.IN if isinstance(param.kb_code, list) else FilterOperator.EQ)]) retriever = vector_index.as_retriever(filters=filters, similarity_top_k=param.top_k)