kreeben/resin
Language model search engine built on a vector database and an anything key/value store.
解決する課題
Resinは、検索エンジンや機械学習モデルを構築するための高性能な基盤を提供します。文字列、バイト配列、ベクトルなどの大量のデータを効率的に保存・取得するという課題を解決し、高速なキーバリュールックアップや異なるデータ列間での複雑な集合演算をサポートします。
仕組み
Resinは、3つの専用ストリームを使用したカスタムストレージシステムを実装しています。ソートされたキー用のキー・ストリーム (.key)、オフセットと長さ用のメモリー・ストリーム (.adr)、そして実際のデータ用の値ストリーム (.val) です。追記型 (append-only) の値ストリームを使用することで、安定したオフセットと線形スケーリングを保証します。このシステムは単一値の保存とリンクされた値のチェーンの両方をサポートしており、キー自体を複製することなく、複数の値を単一のキーに関連付けることができます。テキスト分析に関しては、文字列処理、Bag-of-Words/Chars分析、およびベクトル演算のためのユーティリティが含まれています。
対象ユーザー
ベクトル空間検索エンジン、カスタムベクトルデータベース、または高速で依存関係の少ないディスクベースのキーバリューストアやテキスト分析ツールを必要とするアプリケーションを構築する開発者向けに設計されています。
主な特徴
- 追記型ストレージ: 断片化を防ぎ、効率的なキャッシュのために安定したオフセットを保証します。
- ベクトル空間検索: ベクトル演算と類似度ツールを組み込みでサポート。
- 集合演算: 列ベースのアーキテクチャにより、効率的な和集合、積集合、結合が可能。
- テキスト分析ユーティリティ: 文字列の分析やレキシコン作成のためのツールが含まれています。
- 軽量設計: 最小限の依存関係で拡張が容易です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト