watsonx.ai から入手できる埋め込みモデルと埋め込みAPIを使用して、生成AIアプリケーションで使用する文章や段落の意味を捉えたテキスト埋め込みを作成します。
Converting text into text embeddings, or ベクトル化 text, helps with document comparison, question-answering, and in retrieval-augmented generation (RAG) tasks, where you need to retrieve relevant content quickly.
詳しくは、以下のトピックを参照してください。
また、 IBM を使用して、サードパーティのプラットフォームから埋め込みモデルを使用することもできます。例えば、以下のようなプラットフォームです
テキストのベクトル化
watsonx.ai API の Generate embeddings メソッドを使用してテキストをベクトル化します。
プログラム的に使用可能な埋め込みモデルを確認するには、 watsonx.ai のサービスAPIとして 利用可能な基盤モデルをリストアップする メソッドを使用します。 filters=function_embedding
パラメータを指定すると、利用可能な埋め込みモデルのみが返されます。
curl -X GET \
'https://{cluster_url}/ml/v1/foundation_model_specs?version=2024-07-25&filters=function_embedding'
例
次のコードスニペットでは、 slate-30m-english-rtrvr モデルを使用して、次の2行のテキストをテキスト埋め込みに変換しています
- foundation model は、幅広い下流タスクに適応できる大規模な生成型AIモデルです。
- 生成型AI テキスト、ソースコード、画像、音声、合成データなど、さまざまな種類のコンテンツを生成できるAIアルゴリズムの一種。
この例では、2行のテキストが変換のために送信されています。 最大1,000行まで指定できます。 送信する各行は、埋め込みモデルで定義されている最大入力トークン制限に従う必要があります。
行が長くなる可能性がある場合に対処するため、 truncate_input_tokens
パラメータを指定して行を強制的に切り詰めるようにします。 そうでないと、リクエストが失敗する可能性があります。 input_text
パラメータが含まれているため、元のテキストがレスポンスに追加され、埋め込み値の各セットと元のテキストを簡単に組み合わせることができます。
埋め込み方法のペイロードで model_id
として使用する埋め込みモデルを指定します。
curl -X POST \
'https://{region}.cloud.ibm.com/ml/v1/text/embeddings?version=2024-05-02' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJraWQiOi...' \
--data-raw '{
"inputs": [
"A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks.",
"Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
],
"parameters":{
"truncate_input_tokens": 128,
"return_options":{
"input_text":true
}
},
"model_id": "ibm/slate-30m-english-rtrvr",
"project_id": "81966e98-c691-48a2-9bcc-e637a84db410"
}'
応答は以下のようなものになります。各埋め込みの384の値は、例の読みやすさを向上させるために6つの値に削減されています
{
"model_id": "ibm/slate-30m-english-rtrvr",
"created_at": "2024-05-02T16:21:56.771Z",
"results": [
{
"embedding": [
-0.023104044,
0.05364946,
0.062400896,
...
0.008527246,
-0.08910927,
0.048190728
],
"input": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
},
{
"embedding": [
-0.024285838,
0.03582272,
0.008893765,
...
0.0148864435,
-0.051656704,
0.012944954
],
"input": "Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
}
],
"input_token_count": 57
}
詳細情報
親トピック: 生成型AIソリューションのコーディング