32 lines
1003 B
Markdown
32 lines
1003 B
Markdown
|
|
"""
|
|||
|
|
模型服务模块(model_services)
|
|||
|
|
|
|||
|
|
提供统一的嵌入和重排模型服务获取接口,支持自动降级:
|
|||
|
|
1. 优先使用本地 llama.cpp 服务
|
|||
|
|
2. 本地服务不可用时,自动降级到智谱 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
|
|||
|
|
"""
|