2 个版本
0.0.1 | 2023年7月4日 |
---|---|
0.0.0-alpha.1 | 2023年7月3日 |
#23 in #vector-database
25KB
665 行
tinyvector - 小巧、最不愚蠢、速度快的向量嵌入数据库.
🦀 对 0hq 的 tinyvector 的重写
特性
- 小巧:正如其名。它实际上只是一个 axum 服务器。极容易定制,大约 600 行代码。
- 快速:当涉及到中小型数据集的速度时,Tinyvector 将具有与高级向量数据库相当的速度。
- 垂直扩展:Tinyvector 将所有索引存储在内存中以便快速查询。非常容易扩展到 1000 万维以上而不会出现问题。
- 开源:MIT 许可证,永久免费。
即将推出
- 集成模型:不久你将不需要携带自己的向量,只需在服务器上自动生成它们即可。将支持 SBert、Hugging Face 模型、OpenAI、Cohere 等。
- Python/JS 客户端:我们将在未来两周内添加一个全面的 Python 和 JavaScript 包,以便轻松集成 tinyvector。
我们比 ... 更好
在大多数情况下,大多数向量数据库对于像以下这样的简单用途来说都是过度设计
- 使用嵌入与您的文档进行聊天。大多数文档搜索都无法达到您需要使用 HNSW 或 FAISS 加速搜索速度的程度。
- 对您的网站或商店进行搜索。除非您正在销售 100 万个商品,否则您不需要 Pinecone。
- 对非常大的数据库执行复杂搜索查询。即使您有 200 万个嵌入,这也可能是更好的选择,因为向量数据库在复杂过滤方面可能会遇到问题。Tinyvector 目前尚不支持元数据/过滤,但您很容易自行添加。
嵌入?
什么是嵌入?
尽可能简单:嵌入是一种比较相似事物的方法,就像人类比较相似事物一样,通过将文本转换为一个小数字列表。相似的文本将具有相似的数字,不同的文本将具有非常不同的数字。
阅读 OpenAI 的 解释。
许可证
依赖项
~24–34MB
~478K SLoC