""" 模型服务模块(model_services)
提供统一的嵌入和重排模型服务获取接口,支持自动降级:
- 优先使用本地 llama.cpp 服务
- 本地服务不可用时,自动降级到智谱 API 服务
使用方法:
from app.model_services import get_embedding_service, get_rerank_service, BaseReranker
获取嵌入服务(LangChain 兼容的 Embeddings)
embeddings = get_embedding_service()
获取重排服务
reranker = get_rerank_service() sorted_docs = reranker.compress_documents(documents, query, top_n=5)
环境变量配置:
智谱 API 配置
ZHIPUAI_API_KEY=your_api_key ZHIPU_EMBEDDING_MODEL=embedding-3 # 可选:embedding-2、embedding-3 ZHIPU_RERANK_MODEL=rerank-2 # 可选:rerank-1、rerank-2 ZHIPU_API_BASE=https://open.bigmodel.cn/api/paas/v4
本地 llama.cpp 服务配置(原有配置保持不变)
LLAMACPP_EMBEDDING_URL=http://localhost:port/v1 LLAMACPP_RERANKER_URL=http://localhost:port/v1 LLAMACPP_API_KEY=your_api_key """