VoyageAI by MongoDB: rerank-3
Voyage rerank-3 是 Rerank 3 中著重品質的版本,用於評估查詢—文件相關性。它重新排列擷取的文字候選,支援自然語言相關性指示,並可處理 32,000-token 配對,適用於長文件、程式碼與知識庫搜尋。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Voyage rerank-3 是旨在提升檢索證據品質的文字重排序器。給定查詢與候選文件清單後,它會一起檢查每個配對,再依相關性回傳排序後的候選。嵌入與關鍵字搜尋可先將大型資料集縮成可管理的候選清單,再由 rerank-3 進行更細緻的相關性評估。其輸出是附分數的搜尋證據,供應用程式顯示,或傳入獨立的答案生成階段。
著重品質的 Rerank 3 原廠將 rerank-3 定位為準確度取向版本,rerank-3-lite 則適用於延遲敏感搜尋。第三代更新骨幹與訓練組合,相較對應的 2.5 前代,尤其改善長文件與原始碼檢索。原廠以技術文件、程式碼、多語素材與其他文件領域評估模型。這些結果支持其檢索用途;選擇版本時,應使用對自己資料集重要的問題與候選文件。
具足夠上下文的長文件 長候選文件的有用背景可能遠超過開頭段落。請提供連貫章節或文件,附上標題與相關前後文,讓模型評估實際問題與內容的關係。產品政策搜尋應保留目標段落周圍的標題與例外。若多個擷取章節來自同一來源,保留文件與章節識別碼,應用程式才能顯示所選證據出處。
上下文視窗由查詢與每個候選共用。原廠目前指南指定該配對最多 32,000 tokens,其中查詢最多 8,000 tokens。因此 3,000-token 查詢最多為每份文件留下 29,000 tokens。請讓必要內容能容納於輸入,尤其要避免冗長前言或重複制式內容消耗視窗。文件記載的截斷選項預設啟用,可在評分前縮短過長查詢或文件文字。當段落位置重要時,請檢查保留下來的內容。
程式碼與技術檢索 程式助理的檢索階段,可將函式實作、API 文件或技術說明作為文字候選。包含區分相似候選所需的符號、簽章與上下文。例如「找出會正規化路徑,同時保留結尾分隔符號的函式」,便提供了具體待匹配行為。附上相關語言、平台或版本限制。排名後,先檢查選定程式碼及相依項目,再將它用作上下文;相關性分數並不證明實作滿足每項指定需求。
以指示定義相關性 模型保留 Rerank 2.5 引入的指令遵循重排序能力。使用者意圖需要澄清時,可在查詢前後加入簡潔指示。研究文件搜尋請說明重點是標題、特定方法,還是應用領域。內部目錄請指定請求涉及安裝、疑難排解或相容性。讓指示與問題一致;與主要請求衝突的額外偏好,可能改變排名試圖最佳化的目標。
準備候選文件與預算 輸入是文字字串清單。從來源文件擷取可用文字,保留有意義的章節邊界,並在清單旁維持有序紀錄對應。原廠允許單次請求最多 1,000 份文件,另指定總輸入上限為 600,000 tokens:查詢 tokens 乘以文件數,再加上全部文件 tokens。這與每個配對的上下文限制不同。減少查詢中的重複文字,可以同時保留配對容量與整體請求預算。
請為相關模型計算 tokens,不要假定單字或字元數等於 token 數。大型候選請選擇連貫段落,或依有用標題拆分素材,同時保留母來源資訊。第一階段搜尋已找到合理候選後,重排序最有用:從未進入清單的缺少來源,無法被排名。
排名結果與下游使用 結果包含相關性分數及指向原始輸入文件的索引,依相關性遞減排序。top_k 選項限制回傳的排名結果數;否則回傳所有輸入候選。原廠 REST 介面也允許附上文件文字。使用每個原始索引取回標題、來源識別碼與應用程式所需詮釋資料,再呈現選定項目,或將相關文字放入答案的證據上下文。
請依問題檢查排名最高的結果,並保持來源身分可見。相對排名高並未驗證文件事實的準確性,而只包含不佳候選的清單仍會有第一名。請將相關性選擇,與判斷所選證據是否足以回答使用者分開。
版本遷移 原廠將 rerank-3 描述為可直接替換 rerank-2.5 的後繼版本,具有相同 API 語意,分數也校準至對應前代的分布。這種相容性支持保留既有檢索階段與紀錄對應。採用遷移前,請在目前語料庫上比較有意義的結果排序與分數門檻。將 rerank-3 與 rerank-3-lite 保留為不同選項:共享限制與指令遵循能力,並不代表其品質與延遲優先順序相同。
Ailoot Ultra · 重新排序 POST /v1/rerank voyageai/rerank-3
voyageai/rerank-3入門
Voyage rerank-3 是 Rerank 3 中著重品質的版本,用於評估查詢—文件相關性。它重新排列擷取的文字候選,支援自然語言相關性指示,並可處理 32,000-token 配對,適用於長文件、程式碼與知識庫搜尋。
- 接受的輸入
- 文字
- 結果
- 已排序結果
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 重新排序 POST /v1/rerank
- 輸入
text- 輸出
rerank- 輸出格式
- json
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位documents | 類型array | 要求必填 | 值與限制 | 預設值— |
欄位model | 類型string | 要求必填 | 值與限制 voyageai/rerank-3 | 預設值— |
欄位provider | 類型schema | 要求選填 | 值與限制 | 預設值— |
欄位query | 類型string | 要求必填 | 值與限制 | 預設值— |
欄位session_id | 類型string | 要求選填 | 值與限制 | 預設值— |
欄位top_n | 類型integer | 要求選填 | 值與限制 最小值: 1 | 預設值— |
欄位trace | 類型schema | 要求選填 | 值與限制 | 預設值— |
欄位user | 類型string | 要求選填 | 值與限制 | 預設值— |
欄位documents[].text | 類型string | 要求選填 | 值與限制 | 預設值— |
欄位documents[].image | 類型string | 要求選填 | 值與限制 | 預設值— |
輸入素材組合
text_rerank · 必填: query, documents array with minItems1
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, query, documents |
參數material_types | 規格text |
參數optional_controls | 規格provider, session_id, top_n, trace, user |
參數multimodal_input_binding | 規格null |
生命週期: synchronous
請傳送完全相符的模型 ID,並保留完整的原生回應。
方案
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
Ailoot 費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 計費單位 | 費用 |
|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 計費單位— | 費用 輸入 · 輸入 Token — / 1K Token 輸出 · 輸出 Token — / 1K Token 輸入 · 讀取快取 — / 1K Token 輸入 · 寫入快取 — / 1K Token 輸入 · 寫入快取,1 小時 — / 1K Token |
| 設定Ultra | 費率表— | 計費單位/ 1K Token | 費用 輸入 $0.0001 / 1K Token |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 重新排序
{
"documents": [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
],
"model": "voyageai/rerank-3",
"query": "What is the capital of France?",
"top_n": 3
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='voyageai/rerank-3'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \
-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
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
接收並儲存結果
Ailoot Ultra · 重新排序
json
保留所有已完成的結果
請保留所有完整傳回的回應、檔案與內容區塊。
會保留每個實際結果的索引、有限值 relevance_score 與原始文件物件。索引會對應原始文件陣列。完整的原始 JSON 會先儲存,並僅在結算後回傳。
需要檢查原始回應時
請保留原始操作與完整/部分回覆;切勿重送 POST。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位model | 類型string |
欄位id | 類型string |
欄位provider | 類型string |
欄位results[].index | 類型integer |
欄位results[].relevance_score | 類型number |
欄位results[].document.text | 類型string |
欄位results[].document.image | 類型string |
欄位usage.search_units | 類型integer |
欄位usage.total_tokens | 類型integer |
欄位usage.cost | 類型number |
錯誤與後續步驟
| 回應 | 條件 | 下一步 |
|---|---|---|
回應400 · invalid_request_error | 條件必要欄位、表示方式或值無效 | 下一步請修正指出的請求欄位。 |
別名
模型別名
Ailoot Ultra voyageai/rerank-3
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · VoyageAI by MongoDB: rerank-3
- 可以使用哪些輸入與結果?
POST /v1/rerank·voyageai/rerank-3:text→rerank- 請求使用哪些欄位?
POST /v1/rerank·voyageai/rerank-3:documents,model,provider,query,session_id,top_n,trace,user- 適用哪些限制?
POST /v1/rerank·voyageai/rerank-3:top_n.minimum:1