クロマに会ってください:LLMs用のAIネイティブオープンソースベクトルデータベース-メモリを使用したPythonまたはJavaScript LLMアプリをより速く構築する方法

クロマに会ってください:LLMs用のAIネイティブオープンソースベクトルデータベース

ワード埋め込みベクトルデータベースは、巨大な言語モデルの普及に伴い、ますます人気が高まっています。高度な機械学習技術の力を活用して、データはベクトルデータベースに格納されます。これにより、推薦システム、画像認識、NLPなどのAI利用において非常に高速な類似性検索が可能になります。

複雑なデータの本質は、各データポイントを多次元ベクトルとして表現することによってベクトルデータベースに捉えられます。k-dツリーやハッシュなどの近代的なインデックス技術により、関連するベクトルを素早く取得することが可能です。このアーキテクチャはビッグデータ分析を変革し、データ重視のセクターに高度にスケーラブルで効率的なソリューションを生成します。

さて、小規模で無料かつオープンソースのベクトルデータベースであるChromaを見てみましょう。

Chromaは、PythonまたはJavaScriptプログラミングを使用してワード埋め込みを作成するために使用できます。メモリ内またはクライアント/サーバーモードのデータベースバックエンドは、簡単なAPIでアクセスできます。Chromaをインストールし、プロトタイピング中にJupyter NotebookでAPIを使用することで、データベースがクライアント/サーバーモードで実行される本番環境でも同じコードを利用することができます。

メモリ内で操作する場合、ChromaデータベースセットはApache Parquet形式でディスクに永続化することができます。ワード埋め込みの生成に必要な時間とリソースを最小限に抑えるために、後でそれらを取り出すために格納することができます。

各参照文字列には、元のドキュメントを説明する追加のメタデータが付加される場合があります。好みに応じてこのステップをスキップすることもできます。研究者はチュートリアルで使用するためにいくつかのメタデータを作成しました。具体的には、辞書オブジェクトのコレクションとして整理されています。

Chromaは、関連するメディアのグループをコレクションとして参照します。各コレクションには、ドキュメント(文字列のリスト)、ドキュメントの一意の識別子として機能するID、および(必須ではない)メタデータが含まれます。コレクションは埋め込みのみで完全なものになります。これは、Chromaの組み込みのワード埋め込みモデルを使用するか、OpenAI、PaLM、Cohereに基づく外部モデルを明示的に使用して生成することができます。Chromaは、サードパーティAPIの組み込みを容易にし、埋め込みの生成と格納を自動化する手続きを提供します。

デフォルトでは、Chromaはall-MiniLM-L6-v2 Sentence Transformersモデルを使用して埋め込みを生成します。この埋め込みモデルは、さまざまなアプリケーションに対して文やドキュメントの埋め込みを生成することができます。状況によっては、この埋め込み関数はモデルファイルの自動ダウンロードとPC上でのローカル実行を必要とする場合があります。

メタデータ(またはID)もChromaデータベースでクエリできます。これにより、どこで論文が起源したかに応じて簡単に検索することができます。

主な特徴

  • 使いやすい:すべてが入力され、テストされ、ドキュメント化されている場合。
  • 開発、テスト、本番のすべての環境で、ノートブックで同じAPIを使用できます。
  • 機能が豊富:検索、フィルタリング、密度推定。
  • Apache 2.0ライセンスのオープンソースソフトウェア。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more