組み込みおよびベクターデータベースの実践ガイド

組み込みおよびベクターデータベースの実践ガイド

翻訳者 |ブガッティ

レビュー | Chonglou

この革命の中心にあるのは、ベクター データベースの概念であり、複雑なデータの処理方法を一変させる画期的な技術です。従来のリレーショナル データベースとは異なり、このデータベースは、多くの AI および機械学習アプリケーションに固有の次元ベクトル データを管理および処理する独自の機能を備えています高度なAI時代が進むにつれてベクトル データベースは重要なツールとして浮上し生成AIモデルによって生成される大規模で複雑なデータセットの処理において比類のない効率と精度を提供します

この記事では、生成AIの世界におけるベクトル ライブラリの重要な役割を探りその機能、仕組み、使用例、実践的なチュートリアルに焦点を当てます。

ベクターデータベースの定義

ベクターデータベースは、通常ベクターと呼ばれる多次元データ ポイントを保存、インデックス付け、および取得するために使用されるデータベースですテーブルに整理されたデータ(数値や文字列など)を処理するデータベースとは異なりベクターデータベースは、多次元ベクター空間で表現されたデータを管理するために特別に設計されていますそのためデータが画像埋め込み、テキスト埋め込み、その他の種類の特徴ベクトルなどのベクトル形式であることが多いAIおよび機械学習アプリケーションに適しています

これらのデータベースは、類似性検索にインデックス作成と検索アルゴリズムを利用して、データセット内で最も類似したベクトルを迅速に識別できるようにします。この機能は、高次元データを効果的に理解して処理することが重要な役割を果たす、推奨システム、画像および音声認識、自然言語処理などのタスクにとって非常に重要です。したがって、ベクター データベースは、大量のデータに大きく依存するAIアプリケーションのニーズを満たすことができるデータベース テクノロジの進歩を表しています

ベクトル埋め込み

ベクター データベースについて話すとき、ベクター埋め込みとは何か、つまりデータが最終的にベクター データベースにどのように保存されるかを知ることが重要です。ベクトル埋め込みは、音楽ストリーミング アプリのなど、オブジェクトの主要な特性をカプセル化するデジタル コードとして機能しますテンポやジャンルなど主要な特徴を分析・抽出し、埋め込みモデルを通じて各曲をベクトル埋め込み変換します。

このプロセスにより、類似の属性を持つ曲には類似のベクトル コードが確実に割り当てられます。ベクトル データベースはこれらの埋め込みを保存しクエリ時にこれらのベクトルを比較して最も一致する特徴を持つ曲を見つけて推奨しユーザーに効率的で関連性の高い検索エクスペリエンスを提供します

ベクターデータベース仕組み

ユーザークエリを実行する際には、画像、ドキュメント、ビデオ、オーディオなど、さまざまな種類の生データが関係しますこのデータはすべて非構造化データまたは構造化データあり最初に埋め込みモデルによって処理されます。モデルは通常、データを高次元の数値ベクトル変換し、データの特徴をベクトル埋め込み効率的にエンコードして、 SingleStoreDBなどのベクトル データベースに保存する複雑なニューラル ネットワークです

検索が必要な場合、ベクター データベースは、クエリに最も類似するベクターを検索して取得するための操作 (類似性検索など)を実行し、複雑なクエリを効率的に処理してユーザーに関連性の高い結果を提供します。このプロセス全体は、高速な検索および取得機能を必要とするアプリケーションで、さまざまな種類の大量のデータを迅速かつ正確に管理することをサポートします

ベクターデータベースは従来のデータベースとどう違うのでしょうか?

ベクター データベース従来のデータベースの違いを見てみましょう

ベクター データベースは、データの構成と検索方法の点で従来のデータベースとは大きく異なります従来のデータベースは、数値や文字列などの個別のスカラー データ型を処理し、行と列に整理するように構造化されています。

この構造はトランザクション データには理想的ですが、 AIや機械学習でよく使用される複雑で高次元のデータには非効率的です対照的に、ベクター データベースは、多次元空間内の点を表す数値の配列であるベクター データ保存および管理するように設計されています

そのため、高次元空間で最も近いデータポイントを見つけることを目的とする類似性検索を含むタスクに自然に適しています。これは、画像認識や音声認識、レコメンデーション システム、自然言語処理などのAIアプリケーション共通する要件ですベクトル データベースは、高次元ベクトル空間に最適化されたインデックス作成および検索アルゴリズムを活用することで、高度な AI と機械学習の時代にますます普及している種類のデータをより効率的かつ効果的に処理する方法を提供します。

ベクターデータベース使用例

ベクター データベースは、エンタープライズ推奨システムにおいて重要な役割を果たします。たとえばユーザーの閲覧や購入行動に基づいて製品を推奨することができますこれらは、不正行為検出システムでも効果を発揮し、トランザクションの埋め込みを不正行為の既知のプロファイルと比較することで異常なパターンを検出し、リアルタイムの不正検出を可能にします。顔認識は、ベクター データベースに顔の特徴の埋め込みを保存して安全な監視を実現するもう 1 つのユース ケースです。

同様の問い合わせに対して、事前に決められた応答や異なる応答を返すことで、組織の顧客サポートにも役立ちます市場調査は、Vector Database が優れているもう 1 つの分野です。顧客からのフィードバックやソーシャル メディアの投稿を分析し、それらをテキスト埋め込みに変換して感情を分析し、傾向を把握することで、より強力なビジネス分析情報を得ることができます

ベクターデータベースとしてのSingleStoreDB

SingleStoreDB の強力なベクター データベース機能により、 AI駆動型アプリケーション、チャットボット画像認識システムなどをスムーズに提供できます。 SingleStoreDBを使用するとベクトル集約型ワークロード専用ベクトル データベースを維持する必要がなくなります


従来のベクター データベース アプローチとは異なり、 SingleStoreDB は、ベクター データをさまざまな種類のデータ タイプとともにリレーショナル テーブルに配置するという新しいアプローチを採用していますこの革新的な統合により、 SQL広範なクエリ機能を活用しながら、ベクター データに関連付けられた包括的なメタデータと追加のプロパティに簡単にアクセスできるようになります

SingleStoreDB、急速に増大するデータ ニーズを常にサポートできるように、拡張可能なフレームワークを使用して慎重に構築されています。制限に別れを告げデータのニーズに合わせて進化するソリューションを導入しましょう。

SingleStoreDBを使用したベクター データベース チュートリアル

前提条件

  • SnapStoreDB Cloud無料トライアルにサインアップしてくださいベクター データベースとしてSingleStoreを使用します
  • 埋め込みPostmanアカウントを作成します
  • OpenAI APIキーを取得するためのOpenAIアカウント

OpenAIアカウントにログインしたらここに示すようにAPIタブ移動します

次に、 「埋め込み」タブに移動します。

まず、 APIリクエストを埋め込みますこれを行うには API リファレンスページ移動する必要があります埋め込みを作成する方法については、 API リファレンスページ[埋め込み]タブ参照してください

それでは、埋め込み用の API リクエストを作成しましょうこのためには、Postman のようなツールが必要です。 Postman アカウントにサインアップしワークスペースを作成できます

次に、API URL「https://api.openai.com/v1/embeddings」を取得しそれをPostman URLセクションに貼り付けて OpenAI APIキー認証します

最初の埋め込みを作成しましょう必要なのは、OpenAI のドキュメント ページに示されているモデルと入力パラメータだけです。

このモデルでは text-embedding-ada-002 と任意のテキストを入力として使用します

そうしたほうがいいかもしれません。 Postman ダッシュボードに移動し body リクエストを作成します。 「Body」の下で、 rawを選択し JSONを選択してJSONオブジェクト渡します

モデルと入力を記載します

OpenAI に投稿リクエストを送信します。次のような応答が表示されます

表示される数字は埋め込まれたベクトルです。これらのベクトル埋め込みを保存するには、堅牢なデータベースが必要ですここで SingleStoreDB が活躍します。無料の SingleStoreDB Cloud アカウントを作成します

次に、以下に示すようにワークスペースを作成します。

作成されたワークスペースとサンプル/デフォルトのデータベースがアタッチされていることがわかります。

データベースを作成しましょう

新しく作成されたデータベースはダッシュボードに表示されます。

データベースにアクセスしてその内容を表示できますこの場合、まだデータが提供されていないため、何も表示されません。

データベースにいくつかのテーブルを作成しましょう図のように SQLエディタに入りますいくつかの簡単な SQL コマンドを実行してテーブルを作成できます。

「データベースの選択」タブでデータベースが選択されていることを確認します先ほど作成したデータベースを選択します

簡単な SQL クエリを記述して、テーブルとデータ型を作成します。

それでは、このデータベースにベクターデータを挿入してみましょうここで、Postman から受け取った埋め込みデータを入力します。 SQL エディターに戻り次の SQL クエリを記述します。

使用する値は、 Postman からのHello World 入力を参照します。 Postman から受け取った膨大な数字のブロックを JSON_ARRAY_PACK に挿入します。

これらの番号を Postmanからコピーしますこの巨大な数字のブロックを値に貼り付けて、コマンドを実行します。

結果がデータベースに入力されているのを確認できます。

このように、Postman を使用して、さまざまな入力からさまざまな埋め込みを作成し、結果のベクトル埋め込みを新しく作成されたデータベースに追加することができます。

以前と同じ方法でデータベースに保存します。独自の入力とコンテンツを追加して、ベクトル変換します。ここでわかるように、さまざまな入力を追加し、結果のベクトル埋め込みをデータベースに保存しました。

ここで、特定の単語を検索しデータベースから関連データを取得して実験してみましょう Postmanダッシュボードに戻り OpenAI という用語埋め込みを作成しましょう

次に、データベース内で既存の埋め込みを検索します。これにより結果が返され、最も近い類似性が上部にリストされます。 SQL エディターに移動して以下に示すようにこのクエリを実行してみましょう。

埋め込み巨大な数字のブロックを JSON_ARRAY_PACK に貼り付けてコマンドを実行します。

上記の画像では、キーワード OpenAI 類似度スコアとランキングを確認できます同様に、任意のキーワードの類似度スコアも確認できますこのようにして、SingleStoreDB は企業にとって効果的なベクター データベースとして使用できます。

原題:埋め込みとベクターデータベース: 実践ガイド! 、著者: Pavan Belagatti

<<:  ウルトラマンの新技に開発者激怒! ChatGPTプラグインは放棄され、作者がGPTに目を向けたことを示唆している。

>>:  Microsoftの「ChatGPT Family Bucket」がAndroidで利用可能になりました。GPT-4はログインせずに無料でプレイでき、GPT-4V、Turbo、サードパーティのプラグインも組み込まれています。

ブログ    

推薦する

Σco Time | AIセキュリティ、インテリジェンスの新時代における双方にメリット

[原文は51CTO.comより]先日、#Σcotimebetween#ライブブロードキャストプラット...

人工知能のセキュリティ:将来の戦争のリスクと課題

人工知能技術の発展に伴い、人工知能はあらゆる分野で広く利用されるようになり、人類社会に広範かつ深遠な...

MIT、失われた古代言語を解読するための新しい機械翻訳アルゴリズムを発表

MITのコンピュータ科学および人工知能研究所(CSAIL)の研究者らは、歴史から長い間失われていた古...

...

...

...

プログラマーのための上級書籍リスト: アルゴリズム

アルゴリズムの図解通常のアルゴリズムの本は、読む人を眠くさせ、理解不能で読みにくく、非常にイライラさ...

...

アメリカの科学者が新技術を開発:ロボットが行動する前によく考えさせる

カリフォルニア大学バークレー校の新しい研究によると、ロボットはビデオ認識技術を通じて物体を移動させる...

...

Uber Ludwig は、ローコード機械学習用のオープンソース フレームワークです。

[[330500]] 【51CTO.com クイック翻訳】ディープラーニング モデルのトレーニング...

...

...

最近では機械翻訳で文章から絵を想像できる

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...