面向开发者的LLM入门课程-llm-math和wikipedia: 代理 大型语言模型(LLMs)非常强大,但它们缺乏“最笨”的计算机程序可以轻松处理的特定能力。LLM 对逻辑推理、计算和检……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-llm-math和wikipedia”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-llm-math和wikipedia:
代理
大型语言模型(LLMs)非常强大,但它们缺乏“最笨”的计算机程序可以轻松处理的特定能力。LLM 对逻辑推理、计算和检索外部信息的能力较弱,这与最简单的计算机程序形成对比。例如,语言模型无法准确回答简单的计算问题,还有当询问最近发生的事件时,其回答也可能过时或错误,因为无法主动获取最新信息。这是由于当前语言模型仅依赖预训练数据,与外界“断开”。要克服这一缺陷, LangChain 框架提出了 “代理”(Agent) 的解决方案。
代理作为语言模型的外部模块,可提供计算、逻辑、检索等功能的支持,使语言模型获得异常强大的推理和获取信息的超能力。
在本文中,我们将详细介绍代理的工作机制、种类、以及如何在 LangChain 中将其与语言模型配合,构建功能更全面、智能程度更高的应用程序。代理机制极大扩展了语言模型的边界,是当前提升其智能的重要途径之一。让我们开始学习如何通过代理释放语言模型的最大潜力。
使用LangChain内置工具llm-math和wikipedia
要使用代理 (Agents) ,我们需要三样东西:
· 一个基本的 LLM
· 我们将要进行交互的工具 Tools
· 一个控制交互的代理 (Agents) 。
from langchain.agents import load_tools, initialize_agent
from langchain.agents import AgentType
from langchain.python import PythonREPL
from langchain.chat_models import ChatOpenAI
首先,让我们新建一个基本的 LLM
# 参数temperature设置为0.0,从而减少生成答案的随机性。
llm = ChatOpenAI(temperature=0
接下来,初始化 工具 Tool ,我们可以创建自定义工具 Tool 或加载预构建工具 Tool。无论哪种情况,工具 Tool 都是一个给定工具 名称 name 和 描述 description 的 实用链。
· llm-math 工具结合语言模型和计算器用以进行数学计算
· wikipedia 工具通过API连接到wikipedia进行搜索查询。
tools = load_tools(
[“llm-math”,”wikipedia”],
llm=llm #第一步初始化的模型
)
现在我们有了 LLM 和工具,最后让我们初始化一个简单的代理 (Agents) :
# 初始化代理
agent= initialize_agent(
tools, #第二步加载的工具
llm, #第一步初始化的模型
agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, #代理类型
handle_parsing_errors=True, #处理解析错误
verbose = True #输出中间步骤
)
· agent : 代理类型。这里使用的是 AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION 。其中CHAT 代表代理模型为针对对话优化的模型; Zero-shot 意味着代理 (Agents) 仅在当前操作上起作用,即它没有记忆; REACT 代表针对REACT设计的提示模版。 DESCRIPTION 根据工具的描述description 来决定使用哪个工具。(我们不会在本章中讨论 * REACT 框架 ,但您可以将其视为LLM 可以循环进行 Reasoning 和 Action 步骤的过程。它启用了一个多步骤的过程来识别答案。)
· handle_parsing_errors : 是否处理解析错误。当发生解析错误时,将错误信息返回给大模型,让其进行纠正。
· verbose : 是否输出中间步骤结果。
使用代理回答数学问题
agent(“计算300的25%”)
> Entering new AgentExecutor chain…
Question: 计算300的25%
Thought: I can use the calculator tool to calculate 25% of 300.
Action:
“`json
{
“action”: “Calculator”,
“action_input”: “300 * 0.25”
}
“`Observation: Answer: 75.0
Thought:The calculator tool returned the answer 75.0, which is 25% of 300.
Final Answer: 25% of 300 is 75.0.> Finished chain.
{‘input’: ‘计算300的25%’, ‘output’: ‘25% of 300 is 75.0.’}
上面的过程可以总结为下
1. 模型对于接下来需要做什么,给出思考
思考:我可以使用计算工具来计算300的25%
2. 模型基于思考采取行动
行动: 使用计算器(calculator),输入(action_input)300*0.25
3. 模型得到观察
观察:答案: 75.0
4. 基于观察,模型对于接下来需要做什么,给出思考
思考: 计算工具返回了300的25%,答案为75
5. 给出最终答案(Final Answer)
最终答案: 300的25%等于75。
6. 以字典的形式给出最终答案。
Tom M. Mitchell的书
question = “Tom M. Mitchell是一位美国计算机科学家,
也是卡内基梅隆大学(CMU)的创始人大学教授。
他写了哪本书呢?”agent(question)
> Entering new AgentExecutor chain…
Thought: I can use Wikipedia to find information about Tom M. Mitchell and his
books.
Action:
“`json
{
“action”: “Wikipedia”,
“action_input”: “Tom M. Mitchell”
}
“`
Observation: Page: Tom M. Mitchell
Summary: Tom Michael Mitchell (born August 9, 1951) is an American computer
scientist and the Founders University Professor at Carnegie Mellon University
(CMU). He is a founder and former Chair of the Machine Learning Department at
CMU. Mitchell is known for his contributions to the advancement of machine
learning, artificial intelligence, and cognitive neuroscience and is the author
of the textbook Machine Learning. He is a member of the United States National
Academy of Engineering since 2010. He is also a Fellow of the American Academy of
Arts and Sciences, the American Association for the Advancement of Science and a
Fellow and past President of the Association for the Advancement of Artificial
Intelligence. In October 2018, Mitchell was appointed as the Interim Dean of the
School of Computer Science at Carnegie Mellon.
Page: Tom Mitchell (Australian footballer)
Summary: Thomas Mitchell (born 31 May 1993) is a professional Australian rules
footballer playing for the Collingwood Football Club in the Australian Football
League (AFL). He previously played for the Adelaide Crows, Sydney Swans from 2012
to 2016, and the Hawthorn Football Club between 2017 and 2022. Mitchell won the
Brownlow Medal as the league’s best and fairest player in 2018 and set the record
for the most disposals in a VFL/AFL match, accruing 54 in a game against
Collingwood during that season.
Thought:The book written by Tom M. Mitchell is “Machine Learning”.
Thought: I have found the answer.
Final Answer: The book written by Tom M. Mitchell is “Machine Learning”.> Finished chain.
{‘input’: ‘Tom M. Mitchell是一位美国计算机科学家,也是卡内基梅隆大学(CMU)的创始人大学教授。他写了哪本书呢?’,’output’: ‘The book written by Tom M. Mitchell is “Machine Learning”.’}
✅ 总结
1. 模型对于接下来需要做什么,给出思考(Thought)
思考:我应该使用维基百科去搜索。
2. 模型基于思考采取行动(Action)
行动: 使用维基百科,输入Tom M. Mitchell
3. 模型得到观察(Observation)
观测: 页面: Tom M. Mitchell,页面: Tom Mitchell (澳大利亚足球运动员)
4. 基于观察,模型对于接下来需要做什么,给出思考(Thought)
思考: Tom M. Mitchell写的书是Machine Learning
5. 给出最终答案(Final Answer)
最终答案: Machine Learning
6. 以字典的形式给出最终答案。
值得注意的是,模型每次运行推理的过程可能存在差异,但最终的结果一致。
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-llm-math和wikipedia”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~