Intfloat: E5-Base-v2
intfloat E5-Base-v2 以 12 層編碼器將英文文字轉成 768 維嵌入向量。查詢/段落前綴與 512 詞元視窗,決定它在搜尋、改寫比對、分群與文字特徵任務中的準備方式。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
E5-Base-v2 是 intfloat 推出的十二層英文嵌入模型,輸出 768 維表示。它將經過準備的文字轉換為單一數值向量,用於檢索、語意比較,或作為其他任務的特徵。Base v2 檢查點有別於二十四層、1024 維的 Large v2 版本,也有別於另行訓練的多語言 E5 模型。
使用訓練時的角色前綴
E5 預期輸入開頭帶有角色。進行段落檢索時,問題以「query:」開頭,可能含有答案的來源則以「passage:」開頭。對於語意相似度與釋義檢索等對稱式任務,開發者建議兩側都使用「query:」。當向量要作為分群或分類的特徵時,開發者同樣建議使用此前綴。
例如,一個意見回饋集合可能包含多則措辭不同、卻要求同一項改進的訊息。以建議的對稱式準備方式編碼這些紀錄,再比較所得向量或進行分群。請在每個表示旁保留原始措辭與紀錄識別碼,讓每個群集都能以實際的顧客訊息加以檢視,而不是一組無法解釋的數字。
對於搜尋文件集,請以對應的角色準備問題與來源段落。實用的查詢例如「query: Which setting changes the notification frequency?」(意即「哪個設定會改變通知頻率?」)。語料庫段落保留說明內容及相關條件。前綴是模型訓練時準備方式的一部分;開發者指出省略前綴會降低效能。
池化並比較表示
官方範例會計算考量注意力遮罩的 token 表示平均值,排除填補位置,再將所得向量正規化。正規化嵌入向量之間的內積即為餘弦相似度。這 768 個輸出值描述的是一段文字;它們不是答案、類別標籤,也不是成對重新排序模型的分數。
在分群工作流程中,由另一個階段根據這些向量形成群組。在分類工作流程中,由另一個階段將它們作為輸入特徵。保留這項區分能讓結果更容易解讀:嵌入向量代表紀錄,下游任務則決定群組或標籤。對於要相互比較的表示,請一致使用同一個模型與準備慣例。
在英文與 512 個 token 範圍內運作
模型卡指出此版本僅適用於英文,並將過長文字最多截斷為 512 個 token。請在此範圍內準備連貫的段落,並包含必要的角色前綴。篇幅較長的評論、報告或手冊,應依有意義的章節切分,而不是以超長輸入整份嵌入、導致尾段內容遺失。
讓標題與其引導的句子保持在一起,並保留會改變規則含義的條件或例外。對於意見回饋等簡短紀錄,若能完整容納,請保留整則訊息。在向量旁保存來源識別碼與版本,讓日後更新文件集時能替換正確的紀錄。
依任務解讀相似度
開發者說明,餘弦分數的相對順序比絕對數值更重要。篩選門檻值應以文件集本身的範例評估,而向量相似度並不是標籤相符或答案正確的經校準機率。決定向量的用途時,請檢查相鄰紀錄與已知的不相符案例。
實用的成果是英文搜尋索引、語意比較集合,或與來源紀錄配對的數值化文字特徵。這個 Base v2 設定檔有其自身的維度、池化方式與角色準備;其他 E5 版本的向量形狀或語言涵蓋範圍,並不代表兩者的表示可以互換。
Ailoot Ultra · 嵌入向量 POST /v1/embeddings intfloat/e5-base-v2
intfloat/e5-base-v2入門
intfloat E5-Base-v2 以 12 層編碼器將英文文字轉成 768 維嵌入向量。查詢/段落前綴與 512 詞元視窗,決定它在搜尋、改寫比對、分群與文字特徵任務中的準備方式。
- 接受的輸入
- 文字 · token_ids
- 結果
- embedding
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 嵌入向量 POST /v1/embeddings
- 輸入
text,token_ids- 輸出
embedding- 輸出格式
- json
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 intfloat/e5-base-v2 | 預設值— |
欄位input | 類型string|string[]|integer[]|integer[][] | 要求必填 | 值與限制 項目數下限: 1 條件: 批次不得為空,且各項目類型須一致。Token ID 須為非負整數。 輸入額度: 最大值: 512 · 文字單位: UTF8 位元組 · Token 單位: token 陣列元素 | 預設值— |
欄位encoding_format | 類型string | 要求選填 | 值與限制 float | 預設值float |
欄位dimensions | 類型integer | 要求不支援 | 值與限制 最小值: 1 | 預設值— |
欄位user | 類型json_value | 要求選填 | 值與限制 條件: 來源允許此 JSON 中繼資料欄位;確切的上游語意依模型而異。 | 預設值— |
欄位session_id | 類型json_value | 要求選填 | 值與限制 條件: 來源允許此 JSON 中繼資料欄位;確切的上游語意依模型而異。 | 預設值— |
欄位trace | 類型json_value | 要求選填 | 值與限制 條件: 來源允許此 JSON 中繼資料欄位;確切的上游語意依模型而異。 | 預設值— |
欄位provider | 類型object | 要求選填 | 值與限制 條件: provider.options 遭拒絕 | 預設值— |
輸入素材組合
text_to_embedding
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, input |
參數input_shapes | 規格string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
參數encoding_format | 規格float |
參數dimensions_override | 規格false |
參數max_input_budget_units | 規格512 |
參數multimodal_objects | 規格false |
參數material_types | 規格text, token_ids |
生命週期: synchronous_json
保留每個向量的索引與維度。
即使模型名稱標示為多模態,此指定路徑也不接受圖片物件。
方案
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
Ailoot 費率
各設定的價格
| 設定 | 費率表 | 費用 |
|---|---|---|
| 設定詞元基本費率 | 費率表基本費率 | 費用 輸入 · 輸入 Token $0.00001 / 1K Token 輸出 · 輸出 Token $0 / 1K Token 輸入 · 讀取快取 — / 1K Token 輸入 · 寫入快取 — / 1K Token 輸入 · 寫入快取,1 小時 — / 1K Token |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 嵌入向量
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "intfloat/e5-base-v2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='intfloat/e5-base-v2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
接收並儲存結果
Ailoot Ultra · 嵌入向量
json
保留所有已完成的結果
請保留所有完整傳回的回應、檔案與內容區塊。
保留每個向量及其索引。向量數量必須與輸入數量相同,且維度必須一致。
需要檢查原始回應時
此流程未引入嵌入向量任務端點。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位object | 類型string |
欄位model | 類型string |
欄位data[].index | 類型integer |
欄位data[].embedding | 類型finite float[] |
欄位usage | 類型object |
錯誤與後續步驟
| 回應 | 條件 | 下一步 |
|---|---|---|
回應400 · invalid_request_error | 條件必要欄位、素材表示方式或參數值無效 | 下一步提出新的建立請求前,先修正指定欄位。 |
別名
模型別名
Ailoot Ultra intfloat/e5-base-v2
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Intfloat: E5-Base-v2
- 可以使用哪些輸入與結果?
POST /v1/embeddings·intfloat/e5-base-v2:text,token_ids→embedding- 請求使用哪些欄位?
POST /v1/embeddings·intfloat/e5-base-v2:model,input,encoding_format,provider- 適用哪些限制?
POST /v1/embeddings·intfloat/e5-base-v2:input.budget.maximum:512(UTF8 位元組);input.min_items:1