retriever_init
签名
- 初始化检索服务。
- Embedding Backend (backend): 负责将文本/图像转换为向量 (Infinity, SentenceTransformers, OpenAI, BM25)。
- Index Backend (index_backend): 负责向量的存储与检索 (FAISS, Milvus)。
- Demo Mode: 若 is_demo=True,强制使用 OpenAI + Milvus 配置,忽略部分参数。
retriever_embed
签名
- (非 Demo 模式) 批量计算语料库的向量表示,并保存为 .npy 文件。
- 仅适用于 Dense Retriever 后端(BM25 不支持)。
retriever_index
签名
- 构建检索索引。
- FAISS: 读取 embedding_path (.npy) 构建本地索引文件。
- Milvus / Demo: 读取 corpus_path (.jsonl),生成向量并插入到指定的 collection_name 中。
retriever_search
签名
- 对单条或多条查询进行检索。
- 自动处理查询向量化(添加 query_instruction)并在指定 collection_name (针对 Milvus) 或默认索引中查找 Top-K。
retriever_batch_search
签名
- etriever_search 的批处理版本,接受嵌套列表输入。
bm25_index
签名
- 当
backend="bm25"时,构建 BM25 稀疏索引并保存。
bm25_search
签名
- 基于 BM25 算法进行关键词检索。
retriever_deploy_search
签名
- 作为客户端,调用部署在 retriever_url 的远程检索服务进行查询。
retriever_exa_search
签名
- 调用 Exa Web 检索(需要
EXA_API_KEY)。
retriever_tavily_search
签名
- 调用 Tavily Web 检索(需要
TAVILY_API_KEY)。
retriever_zhipuai_search
签名
- 调用 智谱AI
web_search(需要ZHIPUAI_API_KEY)。
参数配置
servers/retriever/parameter.yaml
backend_configs 子项:
sentence_transformers_encode 参数:
index_backend_configs 参数: