
語言模型(LM)代理和工具使用的最新進展,例如ChatGpt插件等應用程序,可以實現豐富的功能,但也擴大了潛在風險,例如洩漏私人數據或造成財務損失。確定這些風險是勞動密集型的,需要實施工具,手動為每個測試方案設置環境並找到風險的情況。隨著工具和代理變得越來越複雜,測試這些代理的高成本將使尋找高風險,長尾的風險變得越來越困難。 TooleMu是一個基於LM的仿真框架,可實現大規模識別和評估此類風險,從而促進Safter LM代理的發展。
此存儲庫包含:
TooleMu的靈活性使得策劃新的工具包和測試案例,以測試LM代理。我們熱情地邀請您通過貢獻精選的工具包和測試用例來增強我們的基準!
TooleMu有助於迅速識別LM代理在LM女人含的環境中的各種工具和場景中的現實故障,並促進具有LM Automate評估的更安全的LM代理的開發。它由3個主要組成部分組成:

要運行我們的代碼,我們需要安裝另一個稱為instectcoder的軟件包。此PACAKGE用於以模塊化的方式管理我們的提示系統。請注意,此軟件包仍在開發中。
我們建議您在可編輯模式下使用PIP安裝軟件包,這意味著您對代碼進行的任何更改都將立即有效,而無需重新安裝軟件包。要安裝軟件包,請運行以下命令:
# Clone the repositories
git clone https://github.com/ryoungj/ToolEmu.git
git clone https://github.com/dhh1995/PromptCoder.git
# Install the packages
cd PromptCoder
pip install -e .
cd ../ToolEmu
pip install -e .安裝後,您需要設置OpenAI或Claude API鍵。您可以通過在項目目錄中創建一個名為.env的文件來執行此操作,然後將鍵輸入此文件中:如下:
OPENAI_API_KEY=[YOUR_OPENAI_KEY]如果要運行Claude模型,則還需要ANTHROPIC_API_KEY 。
[嘗試我們的演示] [在筆記本上運行]
首先,通過演示在模擬器中嘗試特定的測試用例。在這裡,您可以執行我們的樣本案例和任何您自己的策劃案例。此外,我們還提供了一個筆記本,您可以從我們廣泛的策劃數據集中選擇和運行案例,並對設置具有顆粒狀的控制。其中提供了詳細的說明。
要評估我們的策劃基準中的特定LM代理,該基準由144個測試用例和assets/文件夾中的36個工具包組成,請運行以下命令:
python scripts/run.py腳本將在我們的仿真器(帶有scripts/emulate.py )中執行代理,然後評估模擬軌跡(帶有scripts/evaluate.py )。評估結果將使用scripts/helper/read_eval_results.py將其打印到控制台。要使用特定的設置進行評估,請指定以下參數:
--agent-model :代理的基本模型,默認gpt-4-0613 。--agent-temperature :代理的溫度,默認為0。--agent-type :代理的類型,默認的naive ,其基本提示符僅包括格式說明和示例。其他選項包括ss_only (包括安全要求)或helpful_ss (包括安全性和有用要求)--simulator-type :模擬器的類型,默認值為adv_thought (用於對抗模擬器)。另一個選擇是std_thought (對於標準模擬器)。--batch-size :用於運行仿真和評估的批處理大小,默認5。如果將其設置為10,則可能會遇到頻繁的速率限制錯誤。請注意,運行和評估測試用例的成本約為1.2美元,運行整個數據集的總計約170美元。要評估測試用例的子集,您可以指定要運行的案例數( --trunc-num )。例如,將其設置為10只能運行前10個測試用例(隨機隨機隨機混亂--shuffle )。
有關對管道的詳細控制,請參閱腳本/文件夾。
如果您想按照我們的規格來策劃自己的工具包或測試用例,我們提供腳本來集思廣益並生成具有GPT-4的初始集合,您可以從中查看,過濾和完善您的策展集。
根據您的特定用例,您可能需要考慮以下選項,從簡單到更複雜的數據策劃:
有關更多詳細信息,請參閱“ Generation Readme”。
我們歡迎對該存儲庫的貢獻,尤其是在貢獻新工具和測試案例以擴大我們的評估基準的方面。有關更多詳細信息,請參考貢獻指南。
@inproceedings{ruan2024toolemu,
title={Identifying the Risks of LM Agents with an LM-Emulated Sandbox},
author={Ruan, Yangjun and Dong, Honghua and Wang, Andrew and Pitis, Silviu and Zhou, Yongchao and Ba, Jimmy and Dubois, Yann and Maddison, Chris J and Hashimoto, Tatsunori},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024}
}