python
Antarys 向量数据库官方 Python SDK,提供异步 API、内置缓存与批处理优化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Antarys 向量数据库官方 Python SDK,提供异步 API、内置缓存与批处理优化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有遇到过这种困惑:明明在搜索引擎里搜「怎么减肥最快」,返回的却是「减肥药的副作用」?传统关键词匹配就像查字典,只能找到字面上一样的词,而无法理解「减肥」和「体重管理」其实是同一个意思。
这就是向量数据库(Vector Database)存在的意义——它把文字、图片、音频全部翻译成「数字坐标」,让计算机能够衡量两个内容在语义空间里的距离,从而找到真正「相关」的答案。
Antarys Python SDK 就是 Antarys 向量数据库的官方 Python 客户端,专为大规模 AI 应用设计,提供内置缓存、并行处理和向量维度验证等工程级优化。

图1:Antarys 品牌标识
2023 年大语言模型(LLM)爆发后,向量数据库成为 RAG(检索增强生成)系统的核心基础设施。当你向 ChatGPT 提问「我们公司的报销政策是什么」时,RAG 系统会先从内部文档中检索相关段落,再把段落和问题一起喂给 LLM 生成答案——这个「检索」环节就靠向量数据库完成。
根据 Gartner 预测,到 2028 年 33% 的企业软件将内置 AI Agent(2024 年这一比例还不到 1%)。每个 Agent 背后都需要实时、大规模的语义检索能力,向量数据库市场预计从 2024 年的 17.3 亿美元增长到 2032 年的 106 亿美元。
Antarys 就是这个赛道的玩家之一,定位为「高性能、生产级向量数据库」,同时提供 Python SDK 让开发者方便接入。
Antarys Python SDK 的核心是 asyncio 异步架构。代码大量使用 async/await 语法,这意味着在处理大规模向量操作时,不会因为一次网络请求而阻塞整个程序:
from antarys import create_client
async_client = await create_client(
host="http://your-antarys-server:8080",
timeout=120,
use_http2=True, # HTTP/2 多路复用,性能更好
cache_size=1000, # 查询结果缓存
)
代码中可以看到丰富的性能优化手段:
内置查询缓存:使用 cachetools 库的 LRUCache 和 TTLCache,对重复查询直接返回缓存结果,避免重复请求服务端。对于频繁查询相同向量的场景(如推荐系统),这能带来数量级的性能提升。
并行批处理:向量插入(upsert)支持批量操作,默认 batch_size=5000,配合 ThreadPoolExecutor 处理 CPU 密集型计算,通过 tqdm 显示进度条——这对一次性导入百万级向量尤为重要。
可选压缩加速:通过 extras_require 提供可选的 lz4(压缩)和 numba(JIT 编译加速)支持:
pip install antarys[acceleration] # 安装 numba JIT 加速
pip install antarys[all] # 安装全部加速依赖
语义搜索参数:支持 HNSW 算法的 ef_search 参数调优、threshold 阈值过滤、filter 元数据过滤,以及 use_ann 切换 ANN(非精确最近邻)和精确搜索模式。
SDK 定义了完整的 TypedDict 数据结构,确保向量记录的结构在开发阶段就被验证:
class VectorRecord(TypedDict):
id: str
values: List[float] # 向量数据
metadata: Optional[Dict] # 元数据
这让 Pyright、Pylance 等静态分析工具能够在开发时发现类型错误,而不是在运行时才崩溃。
SDK 的架构分为三层:
最外层:用户直接操作的 Client 类,通过 create_client() 工厂函数创建,负责 HTTP 连接池、超时控制、重试策略和缓存管理。
中层:分为 VectorOperations(向量操作)和 EmbeddingOperations(嵌入向量操作),各自持有一个共享的 httpx.AsyncClient。这种分离设计让向量操作和嵌入操作可以独立扩展。
底层:通过 httpx 库与 Antarys 服务端 REST API 通信,数据序列化使用 orjson(比标准 json 快 3-5 倍),支持压缩传输。

图2:Antarys 系统架构
Antarys Python SDK 代表了向量数据库生态的一个细分趋势:专业化 SDK。与 Qdrant 的 Rust 客户端、Milvus 的 Go 客户端类似,用 Python 这门 AI 领域最主流的语言,提供最高效的接入体验。随着 AI Agent 在企业软件中的渗透,这类中间件的重要性只会持续上升。
该项目代码质量扎实(评分 82/100),文档完善,支持 Python 3.8 到 3.13 全版本,适合作为生产环境 RAG 系统的向量检索层。对于想自建向量数据库能力的团队,建议同时评估服务端 Antarys 的部署方案(是否开源、是否商业化)再做选型决策。