

Kelindar/search
紹介 :
kelindar/searchは、llama.cppをベースとした、埋め込み型ベクトル検索と意味的埋め込み機能を提供するGo言語ライブラリです。小規模から中規模のプロジェクトに最適で、強力な意味検索機能をシンプルかつ効率的に実現できます。GGUF形式のBERTモデルに対応し、複雑な埋め込み技術を活用しながら、従来の検索システムの複雑さを回避できます。GPUアクセラレーション機能も備え、対応ハードウェア上での高速計算が可能です。データセットが10万件未満であれば、本ライブラリをGoアプリケーションに容易に統合して、意味検索機能を実装できます。
ターゲットユーザー :
Goアプリケーションに意味検索機能を統合したい開発者、特に小規模から中規模のデータセットを処理し、BERTモデルとGPUアクセラレーションを活用して検索効率を向上させたい開発者を対象としています。
使用シナリオ
文書や記事のベクトルインデックスを作成し、高速検索を実現します。
レコメンドシステムにおいて、ユーザー行動から生成されたベクトル埋め込みを用いて、類似アイテムをレコメンドします。
自然言語処理アプリケーションにおいて、BERTモデルを使ってテキストの意味的埋め込みを生成し、テキスト類似度分析を行います。
製品特徴
llama.cppのcgo非依存:cgoを使用せず、puregoに依存して共有CライブラリをGoコードから直接呼び出すため、統合、デプロイ、クロスコンパイルが簡素化されます。
BERTモデルのサポート:llama.cppを通して、GGUF形式のBERTモデルをサポートします。
プリコンパイル済みバイナリとVulkan GPUサポート:WindowsとLinux向けのプリコンパイル済みバイナリを提供し、GPUアクセラレーションを実現するためVulkanをコンパイル時に含んでいます。
埋め込み検索インデックス:計算された埋め込みから検索インデックスを作成し、ディスクに保存して後で読み込むことができます。小規模アプリケーションの基本的なベクトル検索に適しています。
使用チュートリアル
1. ライブラリのインストール:WindowsとLinux向けのプリコンパイル済みバイナリをダウンロードするか、ソースコードからコンパイルします。
2. モデルの読み込み:`search.NewVectorizer`関数を使用して、GGUFファイルを用いてモデルを初期化します。
3. テキスト埋め込みの生成:`EmbedText`メソッドを使用して、指定されたテキスト入力に対するベクトル埋め込みを生成します。
4. インデックスの作成とベクトルの追加:`search.NewIndex`を使用して新しいインデックスを作成し、`Add`メソッドを使用して複数のベクトルとその対応するラベルを追加します。
5. インデックスの検索:`Search`メソッドを使用して検索を実行し、埋め込みベクトルと取得する結果数を渡します。
6. 結果の出力:検索結果をループ処理し、各結果とその関連性スコアを出力します。
おすすめAI製品

Pseudoeditor
PseudoEditorは無料で使用できるオンライン擬似コードエディタです。構文の強調表示や自動補完などの機能を備えており、擬似コードの作成を容易にします。さらに、内蔵の擬似コードコンパイラ機能でテストすることも可能です。ダウンロード不要ですぐにご利用いただけます。
開発とツール
3.8M

Coze
Cozeは、次世代AIチャットボット構築プラットフォームです。AIチャットボットアプリケーションの迅速な作成、デバッグ、最適化が可能です。コーディング不要で、チャットボットを簡単に作成し、様々なプラットフォームに公開できます。豊富なプラグインも提供しており、データとの連携、アイデアをボットスキルへの変換、長期記憶の装備、会話の開始など、ボットの機能を拡張できます。
開発とツール
3.7M