面向开发者的LLM入门课程-定义工具在代理中使用: 定义自己的工具并在代理中使用 在本节,我们将创建和使用自定义时间工具。LangChian tool 函数装饰器可以应用用于任何……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-定义工具在代理中使用”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-定义工具在代理中使用:
定义自己的工具并在代理中使用
在本节,我们将创建和使用自定义时间工具。LangChian tool 函数装饰器可以应用用于任何函数,将函数转化为LangChain 工具,使其成为代理可调用的工具。我们需要给函数加上非常详细的文档字符串,使得代理知道在什么情况下、如何使用该函数/工具。比如下面的函数 time ,我们加上了详细的文档字符串。
# 导入tool函数装饰器
from langchain.agents import tool
from datetime import date@tool
def time(text: str) -> str:
“””
返回今天的日期,用于任何需要知道今天日期的问题。
输入应该总是一个空字符串,
这个函数将总是返回今天的日期,任何日期计算应该在这个函数之外进行。
“””
return str(date.today())# 初始化代理
agent= initialize_agent(
tools=[time], #将刚刚创建的时间工具加入代理
llm=llm, #初始化的模型
agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, #代理类型
handle_parsing_errors=True, #处理解析错误
verbose = True #输出中间步骤
)# 使用代理询问今天的日期.
# 注: 代理有时候可能会出错(该功能正在开发中)。如果出现错误,请尝试再次运行它。
agent(“今天的日期是?”)> Entering new AgentExecutor chain…
根据提供的工具,我们可以使用`time`函数来获取今天的日期。Thought: 使用`time`函数来获取今天的日期。
Action:
“`
{
“action”: “time”,
“action_input”: “”
}
“`
Observation: 2023-08-09
Thought:我现在知道了最终答案。
Final Answer: 今天的日期是2023-08-09。> Finished chain.
{‘input’: ‘今天的日期是?’, ‘output’: ‘今天的日期是2023-08-09。’}
上面的过程可以总结为下
1. 模型对于接下来需要做什么,给出思考(Thought)
思考:我需要使用 time 工具来获取今天的日期
2. 模型基于思考采取行动(Action), 因为使用的工具不同,Action的输出也和之前有所不同,这里输出的为python代码
行动: 使用time工具,输入为空字符串
3. 模型得到观察(Observation)
观测: 2023-07-04
4. 基于观察,模型对于接下来需要做什么,给出思考(Thought)
思考: 我已成功使用 time 工具检索到了今天的日期
5. 给出最终答案(Final Answer)
最终答案: 今天的日期是2023-08-09.
6. 返回最终答案。
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-定义工具在代理中使用”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~