HTN計劃者將使用OpenAI的GPT和分層任務網絡(HTN)體系結構自動生成詳細的計劃。該系統生成任務以使用LLM實現目標,然後迭代將其分解為可以執行的子任務。
為了獲得最佳結果,使用GPT-4,儘管其他OpenSource LLM可能足以對API進行修改
成分:
- 分解 - 執行任務並將其分解為子任務,直到達到最大深度或計劃失敗為止。該系統跟踪候選分解,並嘗試選擇最佳選擇。如果結果良好,則可能會儘早退出。
- 重新計劃 - 計劃失敗或計劃的一部分失敗時,會重新計劃
- 任務執行 - 將任務標識為可執行單元
- 狀態跟踪-LLM跟踪並在執行時更新狀態
- 文本解析 - 解析和從LLM產生的自然語言響應中提取信息
- 任務翻譯 - 嘗試將低級任務轉換為可以執行的命令或代碼。
- 前端 - 簡單的反應前端顯示代表計劃的層次結構
- 提示Evolver-旨在使用進化算法自動生成提示的應用程序
- 選擇
roulette wheel selection - 突變由LLM執行
- LLM使用選擇結果進行重組
- 健身由LLM確定,並使用Z分數進行標準化,以便可以使用標準偏差比較結果
- 環境拓撲是一個2D環形網格,可以動態地調整到本地或全局優化
- 日誌 - “日誌”文件夾中生成了各種日誌,並且可以在“ function_trace.log”中找到函數軌跡。
- function_trace.log-跟踪用“ @trace_function_calls”註釋的所有函數調用
- 使用“ log_response”功能
- parsing_errors-跟踪從LLM解析輸出的任何問題,以便可以對解析器進行更新以解決問題
- state_changes-基於其具有的信息,跟踪LLM生成的狀態過渡
托多:
- 將成功計劃的部分存儲在矢量數據庫中,以供以後使用並降低發電成本
- 繼續改善文本解析以應對更多優勢案例
- 更多後處理
- 重新評估前提條件作為任務執行的要求
安裝:
後端
- 將環境變量
OPENAI_KEY設置為OpenAI API密鑰 - 安裝依賴項
- 運行
pip install -r requirements.txt
- 運行計劃申請
python src/main.py- 輸入初始狀態
- 這是您希望系統開始計劃之前知道的任何信息
- 您可能不會在此輸入中放
None東西
- 描述您的目標
- 輸入系統計劃達到的目標
- 例如:
eat a ham sandwich
- 默認功能
- 這些是計劃者在創建計劃時可能會考慮使用的工具
- 這將默認為
Linux terminal, internet access ,您只需按Enter即可使用這些
- 選擇計劃者
- 使用不同類型的計划算法創建計劃的選項。諸如HTN計劃者和*搜索計劃者之類的選項。
- 這默認用於使用HTN計劃者
- 運行提示Evolver應用程序
python src/prompt_evolver.py- 輸入您想要設計的提示的目標或問題。
前端:
學分:
參考:
- htn
- 文件
- https://arxiv.org/pdf/1106.4869.pdf
- https://arxiv.org/pdf/1403.7426.pdf
- https://www.cs.umd.edu/~nau/papers/nau2021gtpyhop.pdf
- 圖書
- 自動化計劃,理論與實踐(2008年)Malik Ghallab,Dana Nau,Paolo Traverso(第11章)
- 實施和文檔
- https://www.cs.umd.edu/projects/shop/description.html
- https://github.com/ptrefall/fluid-hierarchical-task-network
- https://github.com/maksmaisak/htn
- https://maksmaisak.github.io/htn/front.html
- https://github.com/dananau/gtpyhop
- 影片
- https://www.youtube.com/watch?v=7L3TCOFMR7W
- https://www.youtube.com/watch?v=mypf9_5wvlm
- https://www.youtube.com/watch?v=7rhi4fwljw4
- https://www.youtube.com/watch?v=kxm467tftcy
- https://www.youtube.com/watch?v=xxusfbvquly