全部產品
Search
文件中心

OpenSearch:問答測試

更新時間:Jun 04, 2025

控制台中內建了問答測試頁面方便使用者進行問答測試,輸入問題模型就會匹配到對應的結果進行回答。完成執行個體配置後,您可針對不同情境和不同期望效果設定相應參數,通過體驗問答效果,來選擇最優參數。本文以控制台操作為例介紹如何進行問答測試並對可自訂的參數進行說明。

前提條件

  1. 已建立OpenSearch-LLM智能版執行個體,具體請參考:建立執行個體

  2. 已完成資料配置工作,具體請參考:資料配置

操作步驟

以下操作步驟將以視頻檔案為例,展示從視頻上傳到知識庫自動解析的完整操作流程,並基於視頻內容進行問答測試,最終返回相關結果。

  1. 登入OpenSearch控制台選擇LLM智能問答版,選擇左側導覽列執行個體管理,單擊對應的執行個體操作欄下的管理按鈕,進入執行個體詳情頁面,選擇配置中心,進入資料配置,點擊檔案匯入,選擇需要上傳的檔案,單擊上傳檔案匯入至知識庫。image

  2. 等待檔案上傳成功,當資料查詢狀態為完成後,單擊左側導覽列問答測試,即可向模型進行提問。image

  3. 進入問答測試後,單擊右上方模型配置,可根據搜尋需求填寫對應的問答參數Prompt參數文檔召回參數參考圖片參數Query理解參數人工幹預參數其它參數,然後在對話方塊輸入需要詢問的內容,單擊發送按鈕

  4. 查看問答測試效果,會基於上傳的知識庫內容返回結果。

參數說明

問答參數說明

參數

類型

必需

預設值

描述

options.chat.model

String

opensearch-qwen

選擇的LLM(大語言模型),各個模型在支援的上下文長度以及最大輸入、輸出Token數有所區別:

Prompt

String

系統預設範本

表示該次搜尋使用的Prompt。可選擇的Prompt請參考:Prompt管理

question.session

Boolean

true

  • false:表示多輪對話關閉;

  • true:表示多輪對話開啟,將結合近n輪對話內容返回結果;

  • session:用於標識對話來源,相同的對話來源會根據上下文進行對話。

options.chat.enable_deep_search

Boolean

false

是否開啟深度搜尋

  • true:開啟深度搜尋,需要多輪推理綜合資料返回結果,單次對話消耗的時間和計算資源相對較多。

  • false:關閉深度搜尋。

options.retrieve.web_search.enable

Boolean

false

是否開啟全網搜尋。

  • true:開啟全網搜尋,將根據全網搜尋資料返回結果,單次對話消耗的時間和計算資源相對較多。

  • false:關閉全網搜尋。

options.chat.stream

Boolean

true

是否啟用流式返回結果。

  • true: 流式返回,預設為true。

  • false:非流式返回。

Prompt參數說明

參數

類型

必需

描述

options.chat.prompt_config.attitude

String

  • 系統內建模板的參數,用來控制對話內容的語氣,預設為normal。

    • normal:無。

    • polite:使用和藹和禮貌的語氣。

    • patience:使用委婉和耐心的語氣。

options.chat.prompt_config.rule

String

對話內容的詳細程度,預設為detailed。

  • detailed:詳細和專業。

  • stepbystep:詳細且按步驟。

options.chat.prompt_config.noanswer

String

無法回答問題時的回複,預設為sorry。

  • sorry:抱歉,根據已知資訊無法回答該問題。

  • uncertain:我不知道。

options.chat.prompt_config.language

String

回答問題使用的語言,預設為Chinese

  • Chinese:中文

  • English:英語

  • Thai:泰語

  • Korean:韓語

options.chat.prompt_config.role

Boolean

是否開啟回答角色。開啟後,將定製回答的角色。

options.chat.prompt_config.role_name

String

定製回答的角色,例如:AI Assistant

options.chat.prompt_config.out_format

String

輸出內容的形式,預設為text。

  • text:文本。

  • table:表格。

  • list:列項。

  • markdown:markdown。

文檔召回參數說明

參數

類型

必需

描述

options.retrieve.doc.filter

String

從知識庫中召回篩選條件的資料時,需要明確指定相應的欄位及滿足的條件。預設為空白。filter使用樣本可參考:filter參數

支援的欄位:

  • table:文檔所在表。

  • raw_pk:文檔主鍵。

  • category:文檔分類。

  • score:文檔分數。

  • timestamp:文檔時間。

樣本格式:

"filter" : "raw_pk=\"123\""   # 只從id為123的doc中擷取資料
"filter" : "category=\"value1\""   # 只從category為value1的doc中擷取資料
"filter" : "category=\"value1\" OR category=\"value2\"" #只從category為value1和value2的doc中擷取資料
"filter" : "score>1.0"   # 只從score大於1.0的doc中擷取資料
"filter" : "timestamp>1356969600"   # 只從timestamp大於2013-1-1的doc中擷取資料

options.retrieve.doc.top_n

Integer

召回的文檔數量,預設為5個,取值範圍:(0, 50]。

options.retrieve.doc.sf

Float

控制向量召回的向量分數的閾值。

  • 當沒有開啟稀疏向量時,取值範圍為[0, 2.0],預設值是1.3,該值越小,結果越相關,但結果數會越少;反之,可能會召回不太相關的結果。

  • 但開啟了稀疏向量時,預設值是0.35。其值越大,召回的結果越相關,結果數會越少;反之,結果可能會不太相關。

options.retrieve.doc.dense_weight

Float

開啟稀疏向量後,控制文檔召回時,稠密向量的權重。取值範圍:(0.0, 1.0),預設值為0.7。

options.retrieve.doc.formula

String

指定召回時,文檔排序的公式。

說明

文法請參考業務排序函數,其中的演算法相關性地理位置相關性的特徵不支援。

options.retrieve.doc.operator

String

在知識庫召回時,question.text分詞後的term的關係。該參數只有在沒有啟用稀疏向量時生效。

  • AND:表示所有term都需要出現才能被召回。預設為AND。

  • OR:表示只要有一個term出現就可以召回。

參考圖片參數說明

參數

類型

必需

預設值

描述

options.retrieve.image.sf

Float

1

控制向量召回的向量分數的閾值。

  • 當沒有開啟稀疏向量時,取值範圍:[0, 2.0],預設值為1.0,該值越小,結果越相關,但結果數會越少;反之,可能會召回不太相關的結果。

  • 但開啟了稀疏向量時,預設值為0.5。其值越大,召回的結果越相關,結果數會越少;反之,結果可能會不太相關。

options.retrieve.image.dense_weight

Float

0.7

開啟稀疏向量後,控製圖片召回時,稠密向量的權重。取值範圍:(0.0, 1.0),預設值為0.7。

Query理解參數說明

參數

類型

必需

取值範圍

描述

options.retrieve.qp.query_extend

Boolean

-

是否對使用者query進行擴充,擴充query會用來在引擎中召迴文檔切片。預設為false。

  • 預設為false,和原來邏輯保持一致,即表示不進行query擴充。

  • 如果設定為true,則會多一次與大模型的互動,所以回複速度會變慢。對耗時敏感的應用請勿開啟。

options.retrieve.qp.query_extend_num

Integer

(0,+∞)

開啟相似query擴充時,最多擴充幾個query,預設值為5。

人工幹預參數說明

參數

類型

必需

描述

options.retrieve.entry.sf

Float

控制召回人工幹預的向量分閾值。取值範圍:[0, 2.0],預設值是0.3,該值越小,結果越相關,但結果數量會越少;反之,可能會召回不太相關的結果。

其它參數說明

參數

類型

必需

描述

options.retrieve.return_hits

Boolean

是否在結果中返迴文檔召回的結果,即response中的search_hits。

options.chat.history_max

Integer

多輪對話歷史最大輪數,最大20輪,預設是1。

options.chat.link

Boolean

是否返回連結。控制模型產生的內容是否標識內容引用的來源。取值:

  • true: 內容包含來源。

  • false: 不包含。預設為false。

包含內容的返回資訊執行個體如下:

可以通過線上擴容和離線擴容兩種方式擴容ECS雲端硬碟容量[^1^]。線上擴容無需重啟執行個體,離線擴容需要重啟執行個體[^1^]。具體操作步驟為:在ECS控制台上選擇待擴容的雲端硬碟,在操作列選擇擴容,然後根據需要選擇擴容方式[^1^]。如果需要擴容分區和檔案系統,可以通過控制台擷取或者通過控制台擷取[^2^]。擴容雲端硬碟容量後,新容量生效後無法再縮小,建議合理規劃儲存空間[^3^]。

其中被[^^]包起來的數字表示引用結果中reference裡的第幾個文檔。例如[^1^]表示引用reference中的第一個文檔。

options.chat.rich_text_strategy

String

富文本LLM輸出後處理方式(如果不存在這個配置或者為空白則不開富文本,預設行為):

  • inside_response: 回答中的tag直接還原到原文裡,markdown格式(注意表格直接以HTML形式插入markdown)。

  • extend_response: 回答中存在富文本tag,每個tag實際內容單獨在rich_text_ref返回:圖片內容url,表格內容HTML格式,代碼文字格式設定。

詳情請參見富文本功能

options.retrieve.graph

Boolean

根據圖關係進行查詢聯想與召回,需在資料配置中開啟GraphRAG後生效。

options.chat.enable_llm_knowledge

Boolean

開啟後,如果搜尋無結果,將使用大模型進行兜底回答。

true:開啟。

false:關閉。

說明

問答測試支援通過APISDK調用。