向量嵌入
將文字轉換成向量,用於語意搜尋、RAG、分群與推薦。
请求REQUEST
POST
https://test.kailin.com.cn/v1/embeddings响应RESPONSE
填写参数并发送请求,响应会显示在这里
請求
curl https://test.kailin.com.cn/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "text-embedding-3-small",
"input": "AI Station is a unified model gateway"
}'
請求主體參數
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
model | string | 是 | 嵌入模型,如 text-embedding-3-small、text-embedding-3-large、text-embedding-ada-002 |
input | string / array | 是 | 單一字串或字串陣列(批次),單次上限依模型而定 |
dimensions | integer | 否 | 輸出向量維度(text-embedding-3 系列支援縮減維度) |
encoding_format | string | 否 | float(預設)或 base64 |
user | string | 否 | 終端使用者識別碼 |
回應
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0023, -0.0091, 0.0154, "..."]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 12,
"total_tokens": 12
}
}
| 欄位 | 說明 |
|---|---|
data[].embedding | 向量陣列,預設 1536 維(text-embedding-3-small)/ 3072 維(-large) |
data[].index | 對應輸入字串的索引 |
usage.prompt_tokens | 計費 token 數 |
批次請求
{
"model": "text-embedding-3-small",
"input": ["first document", "second document", "third document"]
}
回傳的 data 會帶有對應輸入順序的 index。一次批次呼叫比逐筆請求更快,也更省請求次數。
使用 SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-your-token",
base_url="https://test.kailin.com.cn/v1",
)
resp = client.embeddings.create(
model="text-embedding-3-small",
input=["Document A", "Document B"],
)
vectors = [item.embedding for item in resp.data]
備註
Gemini 原生格式的嵌入 API(/v1beta/models/{model}:embedContent 等)也已代理支援,參數遵循 Gemini 官方格式,詳見 Google 官方文件。