kreeben/resin
Language model search engine built on a vector database and an anything key/value store.
解决的问题
Resin 为构建搜索引擎与机器学习模型提供了高性能的基础。它解决了高效存储与检索大量数据(如字符串、字节数组与向量)的问题,同时支持快速的键值查询以及跨不同数据列的复杂集合运算。
运作原理
Resin 使用三种专用流实现了自定义存储系统:用于排序键的键流 (.key)、用于偏移量与长度的地址流 (.adr),以及用于实际数据的数值流 (.val)。它使用仅供附加 (append-only) 的数值流来确保稳定的偏移量与线性扩展。该系统同时支持单值存储与链接值链,允许将多个值关联至单一键,而无需重复存储键本身。在文本分析方面,它包含了用于字符串处理、词袋/字符袋分析以及向量运算的工具。
适用对象
它专为开发向量空间搜索引擎、自定义向量数据库,或需要快速、低依赖性磁盘键值存储与文本分析工具的应用程序开发者所设计。
特色亮点
- 仅供附加存储:防止碎片化并确保稳定的偏移量,以实现高效缓存。
- 向量空间搜索:内置对向量运算与相似度工具的支持。
- 集合运算:基于列的架构实现了高效的并集、交集与连接。
- 文本分析工具:包含用于分析字符串与建立词汇表的工具。
- 轻量化设计:极少的依赖项,易于扩展。
相关
- 项目
- 项目
- 项目
- 项目