Embeddings

OpenAI 互換の Embeddings エンドポイントで、テキストを数値ベクトルに変換します。

POST https://getrouter.ai/v1/embeddings

基本リクエスト

curl https://getrouter.ai/v1/embeddings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "input": "複数の AI モデルに対応する統合 API"
  }'

レスポンスの data 配列にはベクトルが含まれ、利用可能な場合は usage に使用量情報が含まれます。

Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://getrouter.ai/v1",
)

response = client.embeddings.create(
    model="MODEL_ID",
    input=[
        "複数の AI モデルに対応する統合 API",
        "ベクトル検索は意味的に類似するテキストを取得します",
    ],
)

for item in response.data:
    print(item.index, len(item.embedding))

Node.js / TypeScript

import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://getrouter.ai/v1',
})

const response = await client.embeddings.create({
  model: 'MODEL_ID',
  input: [
    '複数の AI モデルに対応する統合 API',
    'ベクトル検索は意味的に類似するテキストを取得します',
  ],
})

console.log(response.data.map((item) => item.embedding.length))

リクエストフィールド

フィールド説明
model必須の埋め込みモデル ID
input必須のテキスト、テキスト配列、または対応するトークン入力
encoding_formatfloat または base64
dimensions対応モデルで指定する出力次元数

バッチ入力

選択したモデルと入力上限が許す場合は、関連するテキストを 1 回のリクエストにまとめます。各レスポンス項目の index を保持し、ベクトルを元の入力に対応付けられるようにしてください。

ベクトルの互換性

異なるモデル ID や次元設定で生成した埋め込みを、同じベクトルインデックスに混在させないでください。いずれかを変更した場合は、既存データを再度埋め込みます。

Tip

検索システムでは、文書とユーザークエリに同じモデルと前処理方法を使用してください。

代替パス

API 仕様では、パスにモデルを含む Embeddings エンドポイントも公開しています。

POST /v1/engines/{model}/embeddings

既存クライアントが engine 形式のパスを必要とする場合を除き、新しい OpenAI 互換連携では /v1/embeddings を使用してください。

次のステップ