用語言代理樹搜索(LATS)
解鎖系統AI推理的功能
想像一個AI助手不僅回答了您的問題,而且還可以系統地解決問題,從其經驗中學習,並在戰略上計劃多個步驟。 語言代理樹搜索(LATS)是一個尖端的AI框架,將React提示的有條理推理與蒙特卡洛樹搜索(MCTS)的戰略規劃能力(MCT)。 LATS構建了一個全面的決策樹,同時探索多個解決方案,並通過持續學習來完善其決策過程。 專注於垂直AI代理,本文探討了使用LlamainDex和Sambanova.ai的LATS代理的實際實施。密鑰學習目標:
掌握反應(推理作用)提示框架及其思想行動觀察週期。
了解效果帶來了反應框架的進步。反應劑解釋了
了解語言代理樹搜索代理> lats and react:一種協同方法
費用注意事項:何時僱用LATS思考:
分析當前情況。
>根據分析選擇一個行動方案。
(以前涵蓋:使用Llamaindex和Gemini實施React代理)
了解語言代理樹搜索代理> 語言代理樹搜索(LATS)是一個高級框架,將MCT與語言模型功能合併為複雜的決策和計劃。
LATS通過輸入查詢啟動的連續探索,評估和學習來運作。 它保持了一個長期記憶,包括過去的探索和反思的搜索樹,指導未來的決策。
LATS系統地選擇有希望的路徑,在每個決策點進行示例潛在的動作,使用價值函數評估其優點,並將它們模擬到終端狀態以衡量效率。 代碼演示將說明樹的擴展和分數評估。
每個節點都使用React的思想生成,動作選擇和觀察收集。 LATS可以增強此功能。
但是,這種方法在計算上是密集型的。 讓我們檢查一下LATS何時最有益。
任務很複雜,具有多個解決方案(例如,編程)。 >錯誤是昂貴的,準確性至關重要(例如,財務,醫學診斷)。
從過去的嘗試中學習是有利的(例如,複雜的產品搜索)。>
> > >
任務很簡單,需要快速響應(例如,基本客戶服務)。構建推薦系統
>讓我們使用LATS和LlamainDex構建推薦系統。
安裝必要的軟件包:
!pip install llama-index-agent-lats llama-index-core llama-index-readers-file duckduckgo-search llama-index-llms-sambanovasystems import nest_asyncio; nest_asyncio.apply()
>步驟2:配置和API設置
設置您的Sambanova LLM API密鑰(替換<your-api-key></your-api-key>
):
import os os.environ["SAMBANOVA_API_KEY"] = "<your-api-key>" from llama_index.core import Settings from llama_index.llms.sambanovasystems import SambaNovaCloud llm = SambaNovaCloud(model="Meta-Llama-3.1-70B-Instruct", context_window=100000, max_tokens=1024, temperature=0.7, top_k=1, top_p=0.01) Settings.llm = llm</your-api-key>
步驟3:定義工具搜索(DuckDuckgo)
from duckduckgo_search import DDGS from llama_index.core.tools import FunctionTool def search(query:str) -> str: """Searches DuckDuckGo for the given query.""" req = DDGS() response = req.text(query,max_results=4) context = "" for result in response: context += result['body'] return context search_tool = FunctionTool.from_defaults(fn=search)
步驟4:llamaindex代理跑步者 - lats>
from llama_index.agent.lats import LATSAgentWorker from llama_index.core.agent import AgentRunner agent_worker = LATSAgentWorker(tools=[search_tool], llm=llm, num_expansions=2, verbose=True, max_rollouts=3) agent = AgentRunner(agent_worker)
步驟5:Execute Agent
query = "Looking for a mirrorless camera under 00 with good low-light performance" response = agent.chat(query) print(response.response)
步驟6:錯誤處理(示例使用) - 本節提供了一種處理代理返回“我仍在思考”的情況的方法。 該代碼在原始輸入中提供。 agent.list_tasks()
結論 LATS顯著提高AI代理體系結構。雖然強大,但必須仔細考慮其計算需求。
>常見問題
FAQS部分在原始輸入中提供。 (注意:關於媒體所有權的說法保持不變。)
以上是LATS:LlamainDex的AI代理商用於推薦系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!