跳至主要内容

RAG 查詢(知識庫)

POST /v1/rag/query

直接查詢專案知識庫,回傳最相關的段落,不經過 LLM 生成。

適合自己控制 Prompt 組合,或只需要語義搜尋結果的場景。

查詢使用專案設定的 Embedding 模型,不允許在請求中覆寫。若需更換 Embedding 模型,請在 Dashboard 修改專案設定並等待文件重新處理完成。

請求

POST /v1/rag/query
Authorization: Bearer sk-your-api-key
Content-Type: application/json
{
"query": "Kubernetes pod CrashLoopBackOff 排除步驟",
"top_k": 5,
"min_similarity": 0.6,
"rag_retrieval_strategy": "hybrid",
"rag_rerank_enabled": true,
"rag_rerank_strategy": "cross_encoder",
"rag_query_expansion": false,
"rerank_model_id": "baai/bge-reranker-v2-m3",
"source_ids": ["019373a01a2b7c3d4e5f6a7b8c9d0e1f"]
}

請求欄位

欄位類型必填說明
querystring查詢文字(1–10000 字元)
top_knumber回傳的段落數(1–20),預設使用專案設定
min_similaritynumber最低相似度門檻,0.0–1.0,預設使用專案設定
rag_retrieval_strategystring檢索策略(見下方說明),預設使用專案設定
rag_rerank_enabledboolean是否啟用 Rerank,預設使用專案設定
rag_rerank_strategystringRerank 策略:cross_encoderllm_based,預設使用專案設定
rag_query_expansionboolean是否啟用查詢擴展,預設使用專案設定
rerank_model_idstring指定 Rerank 模型 ID,預設使用專案設定
source_idsstring[]限定搜尋範圍:只在這些文件 ID 中搜尋

檢索策略

策略說明
dense純向量(語義)搜尋
sparseBM25 關鍵字搜尋
hybrid結合向量和關鍵字搜尋(通常最準確)

回應

{
"success": true,
"code": 1000,
"message": "Success",
"data": {
"query": "Kubernetes pod CrashLoopBackOff 排除步驟",
"results": [
{
"content": "pod 出現 CrashLoopBackOff 時,先用 kubectl logs 查看容器日誌…",
"similarity": 0.9234,
"source": {
"document_id": "019373a01a2b7c3d4e5f6a7b8c9d0e1f",
"name": "ops-runbook.pdf",
"mime_type": "application/pdf",
"file_size": 102400
}
}
],
"config": {
"embedding_model_id": "openai/text-embedding-3-small",
"rerank_model_id": "baai/bge-reranker-v2-m3",
"top_k": 5,
"min_similarity": 0.6,
"retrieval_strategy": "hybrid",
"rerank_enabled": true,
"rerank_strategy": "cross_encoder",
"query_expansion": false
},
"elapsed_time": {
"total": 342,
"expansion": 0,
"retrieval": 198,
"rerank": 128,
"assembly": 16
}
}
}

回應欄位

欄位類型說明
querystring原始查詢文字
results[].contentstring段落文字內容
results[].similaritynumber相似度分數(或 Rerank 後的分數),0.0–1.0
results[].source.document_idstring來源文件 ID
results[].source.namestring文件名稱
results[].source.mime_typestring文件 MIME 類型
results[].source.file_sizenumber文件大小(bytes)
configobject此次查詢實際使用的 RAG 參數設定
elapsed_time.totalnumber總耗時(ms)
elapsed_time.expansionnumber查詢擴展耗時(ms)
elapsed_time.retrievalnumber向量檢索耗時(ms)
elapsed_time.reranknumber重排序耗時(ms)
elapsed_time.assemblynumber結果組裝耗時(ms)

錯誤碼

錯誤碼HTTP說明
1105403權限不足
1306404RAG 資料來源不存在
1006409文件正在建立索引,稍後再試
1603500向量搜尋失敗

所需權限

需要 query.search 權限。