Sentence Transformers: all-mpnet-base-v2
Sentence Transformers all-mpnet-base-v2 將句子與短段落轉成 768 維向量,用於檢索、分群及相似度比較。公開方式採用平均池化與 L2 正規化,預設在 384 個 word piece 處截斷。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
all-mpnet-base-v2 是將句子與短段落表示為 768 維稠密向量的 Sentence Transformers 模型。它以十億組句子配對資料,透過對比學習微調 MPNet 基礎模型。製造商列出的用途包括資訊檢索、分群及句子相似度。
編碼句子或短段落
請準備要比較的文字,保留主要概念與可區別的細節。內部文件集合中的短節,可以描述如何申請設備更換,或維修報告必須包含哪些資訊。請將文件標題與來源位置和向量一起保留,供後續查閱。
以同一模型建立嵌入的查詢,即使措辭不同,也能檢索相關章節。請檢視這些章節是否包含讀者實際需要的指示。相似度工作流程中,請在檢索後比較候選句子本身,尤其當一方包含另一方沒有的例外或條件時。
平均池化與正規化
參考編碼範例透過注意力遮罩平均具上下文的 token 表示,將填補位置排除於平均值之外。接著對產生的句子嵌入進行 L2 正規化。為資料集合與後續查詢產生向量時,請保留這兩個步驟。
每個向量有 768 個分量。餘弦相似度可用來比較這些正規化表示,而來源文字提供結果背後的證據。分量數相同,不代表此模型與 multi-qa-mpnet-base-dot-v1 相容;後者是另一個版本,指定使用 CLS 池化與未正規化向量進行內積評分。
預設截斷與段落準備
製造商說明,超過 384 個 word piece 的輸入預設會被截斷。請將相關章節維持在該 tokenizer 邊界內。對於較長流程,請依有意義的章節邊界切分,並納入足夠的局部上下文,說明步驟適用於什麼情況。「五日內提交」這類片段,需要指出從哪個事件或程序開始計算期限。
訓練程序將序列限制為 128 token,與公開的 384 個 word piece 編碼預設值不同。評估較長段落或資料集合專有詞彙時,請使用代表性資料。輸入容納更多文字,不代表每個細節都會同等影響檢索結果。
檢索、分組與比較
搜尋時,請保留向量與文件的關聯,讓排名候選項能回傳原始章節。RAG 工作流程中,選定章節會成為答案撰寫階段的上下文。模型提供的是數值表示,不會產生附來源的回覆,也不會決定哪份文件具有權威性。
分群時,請在指派標籤前比較各提議群組中的記錄。一組維修筆記可能使用相似語言,卻指向不同設備或故障條件。請在編碼文字中納入這些區別細節,並於回傳資料中檢視,不要只依賴分數。
這個確切的 all-mpnet-base-v2 檢查點,是具備自身平均池化、正規化及預設截斷設定的英文句子嵌入規格。請將這些設定和索引資料集合一起保留,並用向量協助尋找與比較對任務重要的來源段落。
Ailoot Ultra · 嵌入向量 POST /v1/embeddings sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2入門
Sentence Transformers all-mpnet-base-v2 將句子與短段落轉成 768 維向量,用於檢索、分群及相似度比較。公開方式採用平均池化與 L2 正規化,預設在 384 個 word piece 處截斷。
- 接受的輸入
- 文字 · token_ids
- 結果
- embedding
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 嵌入向量 POST /v1/embeddings
- 輸入
text,token_ids- 輸出
embedding- 輸出格式
- json
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 sentence-transformers/all-mpnet-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": "sentence-transformers/all-mpnet-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='sentence-transformers/all-mpnet-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 sentence-transformers/all-mpnet-base-v2
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Sentence Transformers: all-mpnet-base-v2
- 可以使用哪些輸入與結果?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:text,token_ids→embedding- 請求使用哪些欄位?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:model,input,encoding_format,provider- 適用哪些限制?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:input.budget.maximum:512(UTF8 位元組);input.min_items:1