Fix 法规对话

This commit is contained in:
2026-05-21 23:20:39 +08:00
parent 1b640f0084
commit bf6d47e1fd
11 changed files with 553 additions and 428 deletions

View File

@@ -19,6 +19,7 @@ from app.infrastructure.storage.json_document_repository import JsonDocumentRepo
from app.infrastructure.storage.minio_binary_store import MinioDocumentBinaryStore
from app.infrastructure.storage.postgres_document_repository import PostgresDocumentRepository
from app.infrastructure.storage.postgres_parse_artifact_store import PostgresParseArtifactStore
from app.infrastructure.vectorstore.bm25_retriever import BM25Retriever
from app.infrastructure.vectorstore.dense_retriever import DenseRetriever
from app.infrastructure.vectorstore.milvus_vector_index import MilvusVectorIndex
from app.infrastructure.vectorstore.cross_encoder_reranker import OpenAICompatibleReranker
@@ -87,6 +88,13 @@ def get_reranker():
return None
@lru_cache
def get_bm25_retriever() -> BM25Retriever | None:
"""Return BM25 retriever if rank_bm25 + jieba are installed, else None."""
retriever = BM25Retriever(vector_index=get_vector_index())
return retriever if retriever.available else None
@lru_cache
def get_retrieval_service() -> KnowledgeRetrievalService:
"""Return retrieval service."""
@@ -96,6 +104,7 @@ def get_retrieval_service() -> KnowledgeRetrievalService:
)
return KnowledgeRetrievalService(
retriever=retriever,
bm25_retriever=get_bm25_retriever(),
reranker=get_reranker(),
reranker_top_k=settings.reranker_top_k,
)