用语言代理树搜索(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中文网其他相关文章!