BAAI: bge-base-en-v1.5
BAAI bge-base-en-v1.5 將英文文字轉換為 768 維向量,用於語意搜尋與相似度任務。其 512 個 token 的輸入視窗,以及僅套用於查詢的檢索指令,適合文件或知識搜尋索引中主題聚焦的段落。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
bge-base-en-v1.5 是 BAAI 推出的基礎規模英文密集嵌入模型。它將每段文字轉換為 768 維的數值表示,用於檢索與語意比較。此模型屬於 BGE v1.5 系列,該系列改善了前一代模型家族的相似度分數分布,並提升了未提供指令時的檢索效果。其輸出是用於比較文字或尋找相關段落的向量。
準備查詢與段落
當以簡短查詢搜尋較長的段落時,BAAI 建議在查詢前加上「Represent this sentence for searching relevant passages:」。語料庫段落不加這段指令。其他任務則可直接嵌入原始文字。開發者指出 v1.5 在沒有指令時同樣能運作,因此應依任務選擇準備方式,而不是把前綴視為唯一有效的輸入。
實際的搜尋文件集可以包含說明文章、產品介紹或技術操作說明。例如「How do I change the export format?」(意即「如何變更匯出格式?」)這樣的查詢,應檢索到描述該操作的段落。請將章節標題、相關條件與實際來源文字保持在一起。在向量旁儲存段落的識別碼與位置,讓搜尋結果能回傳使用者可閱讀的內容,或供後續的回答階段引用。
向量格式與比較
文件記載的表示方式,是以第一個 token(即 CLS token)的最終隱藏狀態作為句子嵌入。開發者的範例會將向量正規化,並以內積比較正規化後的嵌入向量,等同於餘弦相似度。768 維是此模型輸出表示的大小;它不是可選擇的上下文長度,也不是文字生成的額度。
對於要相互比較的查詢向量與語料庫向量,請使用相同的模型與準備慣例。實用的檢查方式是,以一小組真實使用者問題檢索已知含有答案的段落,再檢視回傳的文字。相容的向量形狀讓索引能儲存該表示,而來源段落才確立結果實際說了什麼。
輸入長度與文件準備
此模型文件記載的序列長度為 512 個 token。因此,較長的來源應在嵌入前切分為連貫且含有答案的段落。讓定義與例外緊鄰其所限定的陳述,並保留段落與其父文件之間的連結。要嵌入的文字包含您加入的任何指令或標題,因此精簡的準備方式能為實用的來源內容保留更多空間。
對於報告或手冊,請以一個章節或一小組相關段落為界進行切分。只包含標題、或缺少主題的片段式段落,在被檢索時可能難以理解。保留原始文字與來源版本,讓文件變更時,索引更新能替換對應的素材。
分數與實用輸出
BAAI 提醒,絕對相似度數值並不是判定兩段文字意思相同的通用門檻值。相對排序才是重點,篩選門檻值應依任務自身資料的分布來選定。向量相似度高是一種檢索訊號,而不是對段落事實內容的驗證。
實用的成果是英文段落索引、一組查詢向量,或用於語意比較的數值特徵。獨立的重新排序模型可以精煉檢索到的候選,獨立的生成階段則可以根據其文字撰寫答案。這個確切的基礎規模英文 v1.5 模型,與 BGE Large、中文版本,以及 BGE-M3 的多語言與混合檢索設定檔各自不同。
Ailoot Ultra · 嵌入向量 POST /v1/embeddings baai/bge-base-en-v1.5
baai/bge-base-en-v1.5入門
BAAI bge-base-en-v1.5 將英文文字轉換為 768 維向量,用於語意搜尋與相似度任務。其 512 個 token 的輸入視窗,以及僅套用於查詢的檢索指令,適合文件或知識搜尋索引中主題聚焦的段落。
- 接受的輸入
- 文字 · token_ids
- 結果
- embedding
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 嵌入向量 POST /v1/embeddings
- 輸入
text,token_ids- 輸出
embedding- 輸出格式
- json
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 baai/bge-base-en-v1.5 | 預設值— |
欄位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": "baai/bge-base-en-v1.5", "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='baai/bge-base-en-v1.5',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 baai/bge-base-en-v1.5
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · BAAI: bge-base-en-v1.5
- 可以使用哪些輸入與結果?
POST /v1/embeddings·baai/bge-base-en-v1.5:text,token_ids→embedding- 請求使用哪些欄位?
POST /v1/embeddings·baai/bge-base-en-v1.5:model,input,encoding_format,provider- 適用哪些限制?
POST /v1/embeddings·baai/bge-base-en-v1.5:input.budget.maximum:512(UTF8 位元組);input.min_items:1