原理可參考這篇綜論: How Agents for LLM Perform Task Planning。大型語言模型的代理如何進行任務規劃
相關framework選擇
The only libraries you need to build LLM apps are: the LLM API - OpenAI API library, liteLLM (provides an OpenAI compatible interface for nearly all other APIs, ollama included)Image Not Showing Possible ReasonsLearn More →
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
- OpenAI API and Qdrant are well documented and rarely have issues. Its easier to track down and fix bugs, compared to dealing with langchain.
現在建構LLM應用的框架五花八門,到底該自己打造到什程度? 可以參考這篇討論
Deeplearning.ai GenAI系列短課程很大程度是各AI新創來推銷自家產品,比較重要的理論跟觀念部分、各家LIB API是其次
ReAct 框架概念主要包含下列三個元素:
Chain-of-thought(CoT)提示展示了 LLM 執行推理軌跡以生成涉及算術和常識推理等任務的回答的能力。但其缺乏訪問外部世界的能力或無法更新知識,會導致事實幻覺和錯誤傳播等問題。
ReAct 是一種將推理和行動結合起來的通用範式。ReAct 提示 LLM 生成任務的口頭推理軌跡和行動。這使系統能夠執行動態推理,以創建、維護和調整行動計劃,同時還能與外部環境(如維基百科)進行互動,將額外的信息納入推理過程。
- 分析
- 推理過程(Thoughts):每一步的思考都反映了如何逐步接近答案,首先是了解Apple Remote的設計初衷,接著找出相關的控制軟體,再尋找這些軟體的具體控制設備。
- 行為(Acts):每一步的行為是根據思考所進行的具體操作,這些操作包括在知識庫中搜索相關信息。
- 觀察(Observations):每一步行為後的觀察記錄了從環境(知識庫)中獲得的反饋信息,這些信息進一步指引了下一步的思考和行為。
- 結果
- 最終的答案是鍵盤功能鍵(keyboard function keys),因為經過多步推理和行為,發現Front Row(軟體)可以由Apple Remote或鍵盤功能鍵控制。這張圖展示了ReAct方法如何有效結合推理和行為來解決問題,並找到正確答案。
簡單的class Agent
實作
prompt
calculate
、 average_dog_weight
建立任務循環loop
actions = [action_re.match(a) for a in result.split('\n') if action_re.match(a)]
observation = known_actions[action](action_input)
測試提問結果