ZeusDB 是一个由 Rust 驱动的高性能向量数据库,提供乘积量化、持久化存储和企业级日志记录等高级功能。本文档展示如何使用 ZeusDB 为你的 LangChain 应用带来企业级向量搜索能力。
快速入门
安装
入门示例
本示例使用 OpenAIEmbeddings,需要 OpenAI API 密钥——在此获取你的 OpenAI API 密钥 如果你愿意,也可以将此包与任何其他嵌入提供商(Hugging Face、Cohere、自定义函数等)一起使用。基本用法
工厂方法
为方便起见,你可以在一步中创建并填充向量存储:示例 1:从文本创建(一步创建索引并添加文本)
示例 2:从文档创建(一步创建索引并添加文档)
高级功能
ZeusDB 的企业级功能已完全集成到 LangChain 生态系统中,提供量化、持久化、高级搜索功能及众多其他企业能力。节省内存的量化设置
对于大型数据集,使用乘积量化来减少内存使用:持久化
ZeusDB 持久化功能让你可以将完整填充的索引保存到磁盘,并在之后以完整状态恢复加载。这包括向量、元数据、HNSW 图和(如果启用)乘积量化模型。 保存内容:- 向量和 ID
- 元数据
- HNSW 图结构
- 量化配置、中心点和训练状态(如果启用了 PQ)
保存向量存储
加载向量存储
注意事项
- 路径是一个目录,而不是单个文件。确保目标目录可写。
- 保存的索引是跨平台的,包含格式/版本信息用于兼容性检查。
- 如果你使用了 PQ,压缩模型和状态都会被保留——加载后无需重新训练。
- 你可以继续在 loaded_store 上使用所有向量存储 API(similarity_search、retrievers 等)。
高级搜索选项
使用这些选项来控制评分、多样性、元数据过滤和检索器集成以进行搜索。带分数的相似性搜索
返回来自 ZeusDB 的(Document, raw_distance) 对——距离越低 = 越相似。如果你希望在 [0, 1] 范围内获得归一化相关性,请使用 similarity_search_with_relevance_scores。
MMR 搜索以增加多样性
MMR(最大边际相关性)在两个力量之间取得平衡:与查询的相关性和所选结果的多样性,减少近似重复答案。通过 lambda_mult 控制权衡(1.0 = 全相关性,0.0 = 全多样性)。带元数据过滤的搜索
使用添加文档时存储的文档元数据过滤结果作为检索器使用
将向量存储转换为检索器提供了一个标准的 LangChain 接口,链(例如 RetrievalQA)可以调用该接口来获取上下文。在底层,它使用你选择的搜索类型(similarity 或 mmr)和 search_kwargs。异步支持
ZeusDB 支持异步操作,用于非阻塞、并发的向量操作。 何时使用异步: Web 服务器(FastAPI/Starlette)、进行并行搜索的 agent/流水线,或希望非阻塞/并发检索的笔记本。如果你编写简单脚本,同步方法即可。 这些是异步操作——常规同步方法的异步/await 版本。以下是每个方法的作用:await vector_store.aadd_documents(documents)- 异步向向量存储添加文档(add_documents()的异步版本)await vector_store.asimilarity_search("query", k=5)- 异步执行相似性搜索(similarity_search()的异步版本)await vector_store.adelete(ids=["doc1", "doc2"])- 通过 ID 异步删除文档(delete()的异步版本)
- 构建异步应用(使用
asyncio、FastAPI 等) - 希望可以并发运行的非阻塞操作
- 同时处理多个请求
- 需要在 I/O 密集型应用中获得更好性能
python my_script.py):
await):
监控与可观测性
性能监控
企业级日志记录
ZeusDB 内置企业级结构化日志记录,通过智能环境检测自动工作:配置选项
索引参数
搜索参数
错误处理
该集成包含全面的错误处理:系统要求
- Python:3.10 或更高版本
- ZeusDB:0.0.8 或更高版本
- LangChain Core:0.3.74 或更高版本
从源码安装
使用场景
- RAG 应用:用于问答的高性能检索
- 语义搜索:跨大型文档集合的快速相似性搜索
- 推荐系统:基于向量的内容和协同过滤
- 嵌入分析:高维嵌入空间的分析
- 实时应用:生产系统的低延迟向量搜索
兼容性
LangChain 版本
- LangChain Core:0.3.74+
距离度量
- 余弦(Cosine):默认,归一化相似性
- 欧氏距离(L2):几何距离
- 曼哈顿距离(L1):城市街区距离
嵌入模型
与任何嵌入提供商兼容:- OpenAI(
text-embedding-3-small、text-embedding-3-large) - Hugging Face Transformers
- Cohere Embeddings
- 自定义嵌入函数
支持
让向量搜索快速、可扩展且对开发者友好。
通过 MCP 将这些文档连接到 Claude、VSCode 等以获取实时答案。

