首頁 > AI工具教程 > Promptfoo怎麼用 AI提示詞測試對比工具教程

Promptfoo怎麼用 AI提示詞測試對比工具教程

更新時間:2026-10-16 17:59:58 釋出時間:8天前 閱讀:23 views次

Promptfoo是一個開源的AI提示詞測試工具,可以對比不同模型和提示詞的輸出效果,幫你找到最好的組合。它透過配置檔案整理提示詞、模型和測試輸入,再批次執行並展示結果,適合檢查回答質量、格式和穩定性。下面從安裝、編寫用例到檢視結果,帶你完成一次基礎測試。

第一步:安裝Promptfoo

先確認電腦已安裝Node.js和npm,然後開啟終端執行npm install -g promptfoo。如果不想全域性安裝,也可以用npx promptfoo@latest執行命令。接著建立示例專案:執行promptfoo init --example getting-started,進入生成的目錄。示例會提供配置檔案和測試內容,方便先跑通流程再改成自己的任務。

執行模型測試通常需要服務商的API金鑰。以OpenAI為例,在終端設定環境變數:export OPENAI_API_KEY=你的密钥;Windows PowerShell可用$env:OPENAI_API_KEY="你的密钥"。金鑰不要直接寫進配置檔案或提交到程式碼倉庫。不同模型服務的金鑰名稱與配置方式可能不同,按所選provider的要求設定即可。

第二步:配置測試用例

在專案目錄找到promptfooconfig.yaml,用文字編輯器開啟。配置一般包含prompts、providers和tests:分別代表待測提示詞、模型服務以及測試輸入。提示詞中的{{question}}是變數佔位符,執行時會由測試用例裡的變數值替換。儲存前留意YAML縮排,層級通常用空格表示,不要混用製表符。

測試用例應覆蓋真實任務,而不只是簡單示例。比如客服問答可以準備退款、物流和無法識別的問題,併為每條輸入設定預期條件。你可以新增斷言,檢查輸出是否包含必要詞語,或是否符合指定規則;也可以先不設斷言,執行後人工比較。例子如下,縮排請保持一致:

prompts:
- "请简洁回答用户问题:{{question}}"
providers:
- openai:模型名称
tests:
- vars:
question: "如何申请退款?"
assert:
- type: contains
value: "退款"

對比多個模型

在providers下新增多個模型標識,Promptfoo會把同一組提示詞和測試輸入分別交給各個模型,再彙總輸出。模型名稱需使用對應provider支援的準確寫法,並確保API金鑰和訪問權限已經配置。也可以在prompts中放入不同版本的提示詞,觀察同一模型面對不同寫法時的表現。

比較時儘量保持測試輸入一致,並關注任務相關指標:是否答對、是否遵守格式、是否遺漏關鍵資訊,以及延遲和呼叫成本。單個樣例很容易造成誤判,建議準備多條覆蓋常見情況和邊界情況的輸入。提示詞最佳化一次只改少量內容,更容易判斷效果變化來自哪裡。

第三步:執行測試和檢視結果

確認配置檔案在當前目錄後,執行promptfoo eval啟動測試。工具會依次執行提示詞、模型與用例的組合,並在終端報告結果;模型呼叫可能產生費用或受到速率限制。配置有誤時先檢查縮排、欄位名稱和金鑰,再重試。若想排查配置,也可使用promptfoo validate config -c promptfooconfig.yaml進行校驗。

測試結束後執行promptfoo view,在瀏覽器開啟本地結果頁面。結果通常按測試輸入和模型並排列出,便於逐格檢視回答、斷言透過情況及差異。不要只看總分:點開失敗項,確認是提示詞含糊、模型能力不足,還是測試預期設定得不合理。修改配置後再次執行,形成“測試—分析—調整”的迭代過程。

如果更習慣國內工具,也可以瞭解01Agent作為替代選擇,按自身的模型接入方式和工作流程評估是否合適:01agent.cgref.cn。無論使用哪種工具,建議把測試用例和配置檔案與專案程式碼一起維護;每次修改提示詞後重復執行同一套用例,才能更可靠地比較新舊版本。

標籤:
微信        
微信號runmie