- 创建 download_sparse_model.py 脚本用于下载稀疏模型到本地 - 添加 SPARSE_MODEL_PATH 和 SPARSE_MODEL_NAME 配置 - 修改 retriever.py 和 index_builder.py 使用 cache_dir - 更新 .gitignore 排除 models/ 目录 - 更新 Dockerfile 在构建时下载稀疏模型
This commit is contained in:
@@ -51,6 +51,10 @@ ZHIPU_RERANK_MODEL = _get_str("ZHIPU_RERANK_MODEL") or "rerank-2"
|
||||
ZHIPU_API_BASE = _get_str("ZHIPU_API_BASE") or "https://open.bigmodel.cn/api/paas/v4"
|
||||
|
||||
|
||||
# ========== 稀疏模型配置 ==========
|
||||
SPARSE_MODEL_PATH = _get_str("SPARSE_MODEL_PATH") or "./models/sparse"
|
||||
SPARSE_MODEL_NAME = _get_str("SPARSE_MODEL_NAME") or "Qdrant/bm25"
|
||||
|
||||
# ========== llama.cpp 服务配置(URL + API密钥 配对) ==========
|
||||
# 主 LLM 服务
|
||||
VLLM_BASE_URL = _get_str("VLLM_BASE_URL")
|
||||
|
||||
@@ -28,6 +28,7 @@ from langchain_core.retrievers import BaseRetriever
|
||||
from rag_core import QDRANT_URL, QDRANT_API_KEY
|
||||
from rag_core.client import create_qdrant_client as create_core_qdrant_client
|
||||
from app.model_services import get_embedding_service
|
||||
from app.config import SPARSE_MODEL_PATH, SPARSE_MODEL_NAME
|
||||
from app.logger import info, warning
|
||||
|
||||
# 模块级常量
|
||||
@@ -134,9 +135,12 @@ def create_hybrid_retriever(
|
||||
raise ValueError(f"Qdrant 集合 '{collection_name}' 不存在")
|
||||
raise
|
||||
|
||||
# 初始化稀疏嵌入
|
||||
sparse_embeddings = FastEmbedSparse(model_name="Qdrant/bm25")
|
||||
info("✅ FastEmbedSparse 初始化成功")
|
||||
# 初始化稀疏嵌入(使用本地缓存目录)
|
||||
sparse_embeddings = FastEmbedSparse(
|
||||
model_name=SPARSE_MODEL_NAME,
|
||||
cache_dir=SPARSE_MODEL_PATH
|
||||
)
|
||||
info(f"✅ FastEmbedSparse 初始化成功 (cache_dir={SPARSE_MODEL_PATH})")
|
||||
|
||||
# 创建混合模式的 QdrantVectorStore
|
||||
vector_store = QdrantVectorStore(
|
||||
|
||||
Reference in New Issue
Block a user