Files
ailine/backend/app/model_services

""" 模型服务模块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 """