Embeddings

メソッド: models.embedContent

入力 Content が与えられたときに、モデルからエンベディングを生成します。

エンドポイント

<ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> 投稿 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

パスパラメータ

model string

必須。モデルのリソース名。これは、モデルが使用する ID として機能します。

この名前は、models.list メソッドから返されるモデル名と一致する必要があります。

形式: models/{model}models/{model} の形式になります。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

<ph type="x-smartling-placeholder">
</ph> フィールド
content object (Content)

必須。埋め込むコンテンツ。parts.text フィールドのみがカウントされます。

taskType enum (TaskType)

省略可。エンベディングを使用するオプションのタスクタイプ。models/embedding-001 に対してのみ設定できます。

title string

省略可。テキストのタイトル(省略可)。TaskType が RETRIEVAL_DOCUMENT の場合にのみ適用されます。

注: RETRIEVAL_DOCUMENTtitle を指定すると、取得時のエンベディングの品質が向上します。

outputDimensionality integer

省略可。出力エンベディングのオプションの縮小次元。設定すると、出力エンベディングの過剰な値は末尾から切り捨てられます。2024 年以降の新しいモデルではサポートされており、以前のモデル(models/embedding-001)ではこの値を指定できません。

リクエスト例

Python


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

レスポンスの本文

EmbedContentRequest に対するレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

<ph type="x-smartling-placeholder">
</ph> フィールド
embedding object (ContentEmbedding)

出力専用。入力コンテンツから生成されたエンベディング。

JSON 表現
{
  "embedding": {
    object (ContentEmbedding)
  }
}

メソッド: models.batchEmbedContents

同期呼び出しで入力テキストが指定されたモデルから、複数のエンベディングを生成します。

エンドポイント

<ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> 投稿 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

パスパラメータ

model string

必須。モデルのリソース名。これは、モデルが使用する ID として機能します。

この名前は、models.list メソッドから返されるモデル名と一致する必要があります。

形式: models/{model}models/{model} の形式になります。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

<ph type="x-smartling-placeholder">
</ph> フィールド
requests[] object (EmbedContentRequest)

必須。バッチの埋め込みリクエスト。これらの各リクエストのモデルは、BatchEmbedContentsRequest.model で指定されたモデルと一致する必要があります。

リクエスト例

Python

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

レスポンスの本文

BatchEmbedContentsRequest に対するレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

<ph type="x-smartling-placeholder">
</ph> フィールド
embeddings[] object (ContentEmbedding)

出力専用。バッチ リクエストで指定された順序と同じ順序で、各リクエストのエンベディング。

JSON 表現
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

埋め込むモデルの Content を含むリクエスト。

JSON 表現
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
<ph type="x-smartling-placeholder">
</ph> フィールド
model string

必須。モデルのリソース名。これは、モデルが使用する ID として機能します。

この名前は、models.list メソッドから返されるモデル名と一致する必要があります。

形式: models/{model}

content object (Content)

必須。埋め込むコンテンツ。parts.text フィールドのみがカウントされます。

taskType enum (TaskType)

省略可。エンベディングを使用するオプションのタスクタイプ。models/embedding-001 に対してのみ設定できます。

title string

省略可。テキストのタイトル(省略可)。TaskType が RETRIEVAL_DOCUMENT の場合にのみ適用されます。

注: RETRIEVAL_DOCUMENTtitle を指定すると、取得時のエンベディングの品質が向上します。

outputDimensionality integer

省略可。出力エンベディングのオプションの縮小次元。設定すると、出力エンベディングの過剰な値は末尾から切り捨てられます。2024 年以降の新しいモデルではサポートされており、以前のモデル(models/embedding-001)ではこの値を指定できません。

ContentEmbedding

エンベディングを表す浮動小数点数のリスト。

JSON 表現
{
  "values": [
    number
  ]
}
<ph type="x-smartling-placeholder">
</ph> フィールド
values[] number

エンベディング値。

TaskType

エンベディングを使用するタスクのタイプ。

列挙型
TASK_TYPE_UNSPECIFIED 設定されていない値。デフォルトは他の列挙値のいずれかになります。
RETRIEVAL_QUERY 指定したテキストが検索 / 取得設定のクエリであることを指定します。
RETRIEVAL_DOCUMENT 指定したテキストが検索対象のコーパスのドキュメントであることを指定します。
SEMANTIC_SIMILARITY 指定したテキストが STS で使用されることを指定します。
CLASSIFICATION 指定したテキストが分類されることを指定します。
CLUSTERING エンベディングをクラスタリングに使用することを指定します。
QUESTION_ANSWERING 指定したテキストが質問応答に使用されることを指定します。
FACT_VERIFICATION 指定したテキストが事実確認に使用されることを指定します。