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必填的文字、文字陣列或支援的 token 輸入
encoding_formatfloatbase64
dimensions相容模型要求的輸出維度

批次輸入

如果所選模型與輸入限制允許,請在同一個請求中批次處理相關文字。請保留每個回應項目的 index,以便將向量對應回原始輸入。

向量相容性

請勿在同一個向量索引中混用不同模型 ID 或維度設定所產生的嵌入向量。如果變更其中任何一項,請重新嵌入既有資料。

Tip

對於檢索系統,文件與使用者查詢請使用相同的模型及前處理策略。

替代路徑

API 規格也提供在路徑中指定模型的 Embeddings 端點:

POST /v1/engines/{model}/embeddings

除非既有用戶端需要 engine 風格的路徑,否則新的 OpenAI 相容整合建議使用 /v1/embeddings

後續步驟