opensearch 后端使用 OpenSearch 作为向量存储。知识文本先经 embedding 模型向量化,再通过 LlamaIndex 写入 OpenSearch,检索时按相似度召回。
何时使用
- 已有 OpenSearch 集群,希望自建向量检索;
- 需要持久化、可跨进程与多实例共享,并对索引与检索有完全掌控。
使用示例
运行前配置 MODEL_EMBEDDING_NAME、MODEL_EMBEDDING_DIM、MODEL_EMBEDDING_API_BASE 与 MODEL_EMBEDDING_API_KEY。extensions 包含 llama-index、embedding 适配器及向量存储连接器;模型文本会发送到配置的 embedding 服务。使用 BytePlus 或其他模型服务时应显式设置匹配的地址、模型与凭证,火山方舟默认地址不会自动切换
同时配置下文 OpenSearch 连接变量和有效 CA 证书,确保账号拥有创建索引、写入和检索权限
也可以通过 backend_config 显式传入连接与 embedding 配置:
KnowledgeBase 参数
构造参数
backend_config 支持以下配置项:
OpenSearch 连接配置
opensearch_config 为 OpensearchConfig,环境变量前缀 DATABASE_OPENSEARCH_:
embedding 配置
embedding_config 为 EmbeddingModelConfig,环境变量前缀 MODEL_EMBEDDING_:
环境变量配置
index 必须符合 OpenSearch 命名规则:全小写,仅含 a-z0-9_-.,且不以 _ 或 - 开头,否则会报错。生产环境请配置 cert_path 以启用证书校验,避免安全风险。
示例检索结果应包含年假规则。若返回为空,先确认写入返回成功、模型维度一致及服务端处理完成,再检查网络与权限;托管后端不保证导入后立即可检索。绑定 Agent 后仍需完成模型配置才能运行问答