Intfloat: Multilingual-E5-Large
intfloat Multilingual-E5-Large 以 24 層模型將多語言文字編碼為 1024 維向量。它支援 XLM-R 涵蓋的百種語言範圍,所有語言都使用英文 query/passage 前綴,並將輸入截斷於 512 個 token。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Multilingual-E5-Large 是 intfloat 推出的多語言密集文字嵌入模型,共有二十四層,輸出 1024 維向量。它以 XLM-RoBERTa Large 為初始化基礎,並在多語言資料上進一步訓練。模型卡說明它支援 XLM-R 的百種語言範圍,同時指出在低資源語言上的表現較弱。其向量可表示文字,用於檢索、語意比較與數值特徵任務。
在每種語言中保留輸入角色
訓練時使用的前綴是「query:」與「passage:」,非英文文字也同樣適用。檢索查詢與其語料庫段落分別使用對應的角色。前綴維持這兩個英文字串,原文內容則保留自身的語言。若是對稱式語意相似度、釋義檢索、雙語文本探勘或特徵用途,開發者建議使用「query:」。
實際的文件集可以包含多種受支援語言的說明文件。請在每個段落的向量旁保留該段落的語言、原文與來源位置。從目標受眾準備真實的搜尋問題,而不是假設一組英文測試就能代表整個文件集。輸出應回傳實際段落及其上下文,讓讀者能評估其內容。
進行多語言比對任務時,請明確掌握比較的目的。一組候選譯文配對,與一個尋找佐證段落的查詢,是兩種不同的準備方式。模型的角色前綴指引為這些任務提供了具體慣例;省略前綴並非文件記載的等效做法,因為這會改變訓練時使用的輸入模式。
池化與向量比較
開發者的範例以注意力遮罩排除填補位置,對 token 表示取平均,再將向量正規化。正規化後的內積即為餘弦相似度。這個 1024 維陣列代表一段經過準備的文字。請將確切的模型與準備方式與儲存的向量綁定,讓後續查詢使用相符的表示。
這些向量可提供候選排序,或作為後續分群或分類階段的特徵。它們不會翻譯原文,也不會撰寫答案。當檢索結果要支援讀者或後續的 RAG 生成階段時,請回傳底層的段落文字。
訓練與語言涵蓋範圍
模型卡記載了先進行弱監督對比式預訓練,再進行監督式微調的流程。多語言準備資料包括標題與段落配對、對話配對與翻譯配對等素材,後期階段則使用標註過的檢索與語言理解資料。這說明了它預期處理的文字表示任務,但並不代表它在每種語言中的表現都相同。
開發者明確指出低資源語言的效能下降是其限制之一。請檢查文件集中實際使用的語言與措辭,包括縮寫、名稱與專業詞彙。「多語言」標籤是實用的範圍描述;回傳文字的相關性仍需依受眾與任務加以檢視。
長度與實用結果
過長的輸入最多截斷為 512 個 token。請將篇幅較長的文件準備成連貫的段落,並納入角色前綴與相關標題。讓定義與限定條件緊鄰其所影響的陳述,並在向量之外保留父文件識別碼與來源版本。
開發者建議著重於餘弦分數的相對順序,而不要把絕對數值當作通用的信心指標。實用的結果是候選段落集、可相互比較的文字表示,或與原始紀錄連結的特徵。這個確切模型與僅支援英文的 E5 v2 檢查點,以及經指令微調的 E5 變體彼此獨立,即使其他模型同樣回傳 1024 個數值也是如此。
Ailoot Ultra · 嵌入向量 POST /v1/embeddings intfloat/multilingual-e5-large
intfloat/multilingual-e5-large
intfloat/multilingual-e5-large入門
intfloat Multilingual-E5-Large 以 24 層模型將多語言文字編碼為 1024 維向量。它支援 XLM-R 涵蓋的百種語言範圍,所有語言都使用英文 query/passage 前綴,並將輸入截斷於 512 個 token。
- 接受的輸入
- 文字 · token_ids
- 結果
- embedding
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 嵌入向量 POST /v1/embeddings
- 輸入
text,token_ids- 輸出
embedding- 上下文
- 512 tokens
- 輸出格式
- json
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 intfloat/multilingual-e5-large | 預設值— |
欄位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.00002 / 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/multilingual-e5-large", "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/multilingual-e5-large',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/multilingual-e5-large
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Intfloat: Multilingual-E5-Large
- 可以使用哪些輸入與結果?
POST /v1/embeddings·intfloat/multilingual-e5-large:text,token_ids→embedding- 請求使用哪些欄位?
POST /v1/embeddings·intfloat/multilingual-e5-large:model,input,encoding_format,provider- 適用哪些限制?
POST /v1/embeddings·intfloat/multilingual-e5-large:ctx:512;input.budget.maximum:512(UTF8 位元組);input.min_items:1