kreeben/resin

Language model search engine built on a vector database and an anything key/value store.

解决的问题

Resin 为构建搜索引擎与机器学习模型提供了高性能的基础。它解决了高效存储与检索大量数据(如字符串、字节数组与向量)的问题,同时支持快速的键值查询以及跨不同数据列的复杂集合运算。

运作原理

Resin 使用三种专用流实现了自定义存储系统:用于排序键的键流 (.key)、用于偏移量与长度的地址流 (.adr),以及用于实际数据的数值流 (.val)。它使用仅供附加 (append-only) 的数值流来确保稳定的偏移量与线性扩展。该系统同时支持单值存储与链接值链,允许将多个值关联至单一键,而无需重复存储键本身。在文本分析方面,它包含了用于字符串处理、词袋/字符袋分析以及向量运算的工具。

适用对象

它专为开发向量空间搜索引擎、自定义向量数据库,或需要快速、低依赖性磁盘键值存储与文本分析工具的应用程序开发者所设计。

特色亮点

  • 仅供附加存储:防止碎片化并确保稳定的偏移量,以实现高效缓存。
  • 向量空间搜索:内置对向量运算与相似度工具的支持。
  • 集合运算:基于列的架构实现了高效的并集、交集与连接。
  • 文本分析工具:包含用于分析字符串与建立词汇表的工具。
  • 轻量化设计:极少的依赖项,易于扩展。

相关

  • 项目
  • 项目
  • 项目
  • 项目