赞
踩
假设你需要 AI 帮你制定一份旅游计划。
你对 AI 问:“去 XX 地的机票是多少钱”。然后AI 通过 API 帮你查到个个航空公司各个时间段的机票信息,这个就是知识库。
假如对话是这样的:
- 航班:你可以选择 A: … B: … C: …
- 酒店:...
- 当地的景点:...
- 当地的美食:...
AI 按照流程(SOP)对你进行反问,然后按照固定的步骤进行多次知识库调用,最后把答案列给你,这种工作方式就是 chain。
Agent 在实际上是把 SOP 中的某些判断工作交给了 AI,而且它还有短期和长期记忆。Agent 里有个 tools 的概念,tools 可以是一个API,一个知识库,一个 chain,甚至是另一个 agent。而选择哪个tool来完成任务交给计划(plain)和大模型来负责。假设你直接对大模型说:“我想去旅游”,大模型的正常反应是这样的:
如果你向一个 agent 提问,它就应该可以自然的过度到上面 chain 的流程上,而且它还可给你订闹钟,添加提醒到日历,并且在你下次问到这个问题是把你原来的计划找出来跟你确认。chain 就是 agent 的一个 tool,大模型会根据你的提问把合适的 tool 拿出来用。而 tool 在嵌入的 agent时需要自我介绍,告诉大模型它的功能和使用范围。
Agents可以看做是一个智能化的流程封装。它基于LLM的CoT能力,动态串联多个Tool或Chain,完成对复杂问题的自动推导和执行解决。
Tool可以认为是Agent中每个单独功能的封装,这些功能可以由第三方在线服务,本地服务,本地可执行程序等不同方式实现,通过开发者自定义Tools封装。通过定义不同的tool,agent就能够通过tool的描述,拼装相关提示,让LLM在特定场景下选择特定的tool来完成任务。可以说,agent的能力很大程度上取决于tool池的深度和广度,以及LLM如何选择tool的能力。
语言模型分为两种,一种是基础模型,一种是提示词模型。模型是以“文字接龙”的方式根据训练内容来”猜“你传给大模型后面的内容。比如你问“比天空更广阔的是什么?”,基础大模型可能会回答你“比天空更广阔的,是男人的胸怀。”因为这个大模型训练时可能收集了天之蓝的广告。而提示词模型会预先设定提示词“你是一个科学百科小助手”,所以它会告诉你“天空的上方是太空,太空比天空更广阔”。
用特殊符号,比如```text```,”””, <>, 来分割内容,使得大模型可以区分哪些是你的提示词,哪些是要处理的文本。
告诉大模型你的结果应该用什么格式输出,可以是 HTML、JSON或者直接给一个例子让大模型参考
检查条件是否满足完成任务所需要的假设。大模型有时候会出现幻觉,这种情况很可能是你给出的条件不能得出你想要的结论,所以为了避免大模型给出具有误导性质的回答,你可以让大模型先检查条件,如果条件不满足直接退出。
给模型一点提示。你可以给模型一个成功返回的例子,从而让模型参照这个例子来给出你想要的答案,这个例子可以展示给模型答案的语气和语境,从而精确控制你想要的到的语气和语境。
告诉模型完成任务的步骤。有时候一个结论的推导过程是可以拆分成多个步骤的,如果你直接让大模型回答,它可能完全是在做“填词游戏”,根本没有做任何逻辑分析。所以如果你给出推导结论的步骤,每一步要求模型给出中间结果,根据上一个结果推导下一个结论,那么就能提高最终结果的准确性。
模型通常训练时引入了大量的数据,这些数据可能具有时效性和特殊的背景,而你在做知识库时通常希望模型只从你给定的数据集中寻找答案,这时候你就要告诉模型基于哪些材料回答问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。