最佳化提示詞(Prompt)能夠使大語言模型輸出的結果更符合預期,OpenSearch-LLM智能問答版支援自訂Prompt模板,使用者可以根據實際的業務情境建立專屬的Prompt模板。本文介紹如何建立並系統管理使用者的自訂Prompt模板。
建立Prompt模板
系統提供了一個預設Prompt模板,在無搜尋結果時不會使用大模型公開內容進行回答。如果使用者需要自訂模板,單擊Prompt管理->建立模板,進入建立Prompt模板介面。在建立Prompt模板介面,按要求填寫Prompt模板名稱、模板簡介、message後,單擊確認按鈕即可完成模板建立。
參數說明
Prompt模板名稱:必填,長度為1-30個字元,以字母開頭,可以包含大小寫字母,數字和底線,不可與其它Prompt模板名稱相同。
Prompt模板簡介:選填,長度為1-30個字元,以大小字母、數字或中文開頭,可包含底線(_)或連接線(-)。
message:message資訊由成對的role、content資訊呈現,點擊“+”可添加新的role、content對。可以選擇的role有:system、user和assistant。content資訊不得為空白且不能包含 <# 和 [# 字元,不超過1024個字元。
system:表示系統訊息,擁有最高優先順序,可用於指導LLM按預設的功能、規範或角色進行輸出。使用系統訊息(system)是可選的,但如果選擇使用系統訊息,它必須位於message列表的首位。
user和assistant:分別表示使用者和模型的訊息,它們應交替出現在對話中,類比實際對話流程。message列表應以user訊息結尾。
自訂變數:使用者可以在prompt中使用自訂變數,文法格式為
${parameters.變數名}。變數名長度為1-64個字元,可以包含大小寫字母,數字和底線。使用者在自訂變數時需要設定變數的預設值,可以通過如下方式進行設定:
${(parameters.name)!} : 表示預設值為空白
${(parameters.name)!"大模型"}: 表示預設值為:大模型
說明設定輸入到大模型中的最終Prompt,可通過變數傳遞值。如果設定變數,需通過介面傳遞相應的變數值,請按規定文法進行設定。變數不可與系統內建變數重名。系統內建變數:
{question}: 使用者輸入的原始query
{docs}: 按照文檔拼接方式產生好的內容
message設定樣本
單擊確認按鈕成功建立模板後,請單擊問答測試跳轉進入問答測試介面,知識庫中已提前上傳OpenSearch-LLM智能問答版相關知識:
系統預設範本
role
content
問答測試
Prompt模板效果
system
You are a helpful assistant.
問:1+1=
答:根據已知資訊無法回答該問題。上述資訊中並沒有包含任何與數學運算相關的內容,因此無法根據提供的資訊得出1+1等於多少的答案。
問:一句話介紹LLM智能問答版
答:LLM智能問答版是阿里雲提供的一種智能OpenSearch服務,它基於內建的LLM大模型,為企業提供專屬的問答搜尋服務,能夠快速搭建問答搜尋系統,並能自動產生問答結果、參考圖片、參考連結等內容,從而實現更智能、優質的問答搜尋體驗。
非知識庫知識:在無搜尋結果時不會使用大模型公開內容進行回答,只會根據已知資訊來進行回答,確保回答內容的可靠性真實性。
知識庫知識:能夠基於已知資訊給出準確可靠的回答。
user
已知資訊包含多個獨立文檔,每個文檔在<article>和</article>之間,已知資訊如下:
'''${docs}'''
根據上述已知資訊,詳細且有條理地回答使用者的問題。確保答案充分回答了問題並且正確使用了已知資訊。如果資訊不足以回答問題,請說“根據已知資訊無法回答該問題”。不要使用不在已知資訊中的內容產生答案,確保答案中每一個陳述在上述已知資訊中有相應內容支撐。答案請使用中文。
問題是:'''${question}'''
如果您想要在無搜尋結果時讓模型基於公開內容進行回答可以自訂模板:
role
content
問答測試
Prompt模板效果
system
You are a helpful assistant.
問:1+1=
答:1+1=2。
問:一句話介紹LLM智能問答版
答:LLM智能問答版是阿里雲提供的一種智能OpenSearch服務,它基於內建的LLM大模型,能夠快速搭建企業專屬的問答搜尋系統,並能自動產生問答結果、參考圖片、參考連結等內容,從而為企業提供智能、優質的問答搜尋服務。
非知識庫知識:在無搜尋結果時會使用大模型公開內容進行回答。
知識庫知識:能夠基於已知資訊給出準確可靠的回答。
user
已知資訊包含多個獨立文檔,每個文檔在<article>和</article>之間,已知資訊如下:
'''${docs}'''
您博學多才,瞭解很多知識,包括數學計算,請準確回答如下問題。
問題是:'''${question}'''
如果您需要在prompt自訂變數,可以按
${(parameters.變數名)!"變數值"}的格式寫入:role
content
問答測試
Prompt模板效果
system
You are a helpful assistant.
模型:opensearch-qwen
在問答測試->Prompt參數介面可以查看自訂變數。

問:1+1=
答:根據已知資訊無法回答該問題。上述資訊中並沒有包含任何與數學計算相關的內容,僅提供了關於OpenSearch-LLM智能問答版和阿里雲服務的介紹,以及一些服務和產品的描述,並未涉及數學運算。
控制台支援直接修改變數值:

問:1+1=
答:非常抱歉,根據您提供的已知資訊,我無法回答關於數學計算的問題,因為所提供的文本中並沒有包含任何與數學運算相關的部分。如果您需要解決數學問題,建議提供相關的數學資訊或者使用專門的數學計算工具。
自訂了一個變數no_answer,在資訊不足以回答問題時,模型將會輸出no_answer變數的預設值:“根據已知資訊無法回答該問題”,修改變數值可以改變模型的輸出,變為“非常抱歉”。
user
已知資訊包含多個獨立文檔,每個文檔在<article>和</article>之間,已知資訊如下:
'''${docs}'''
根據上述已知資訊,詳細且有條理地回答使用者的問題。確保答案充分回答了問題並且正確使用了已知資訊。如果資訊不足以回答問題,請說${(parameters.no_answer)!"根據已知資訊無法回答該問題"}。不要使用不在已知資訊中的內容產生答案,確保答案中每一個陳述在上述已知資訊中有相應內容支撐。答案請使用中文。
問題是:'''${question}'''
管理Prompt模板
建立完成後可在Prompt管理介面對當前所有Prompt模板進行管理,可以進行查看詳情、編輯及刪除的操作,單擊問答測試按鈕後,將跳轉至問答測試介面,並使用選定的 Prompt 模板進行測試。
系統預設Prompt模板不支援編輯。
編輯Prompt模板時,不支援修改Prompt模板名稱,可以修改其它內容。