赞
踩
关于langchain的函数、工具、代理系列的博客我之前已经写了五篇,还没有看过的朋友请先看一下,这样便于对后续博客内容的理解:
LangChain的函数,工具和代理(一):OpenAI的函数调用
LangChain的函数,工具和代理(二):LangChain的表达式语言(LCEL)
LangChain的函数,工具和代理(三):LangChain中轻松实现OpenAI函数调用
LangChain的函数,工具和代理(四):使用 OpenAI 函数进行标记(Tagging) & 提取(Extraction)
LangChain的函数,工具和代理(五):Tools & Routing
今天我们来介绍本系列博客中的最后一篇“对话代理(Conversational agent)”, 在上一篇博客“LangChain的函数,工具和代理(五):Tools & Routing”中,我们定义了两个外部函数get_current_temperature和search_wikipedia,其中get_current_temperature的功能是调用外部天气api来获取指定经纬度地区的温度,而search_wikipedia的功能是调用维基百科的api来获取相关的信息,最后我们还创建了一个带有route能力的chain, 这样我们就可以真正实现外部函数的调用功能,比如当我们向这个chain询问某地天气的时候,该chain会返回该地区的实际温度,再比如当我们向这个chain询问某些科普知识的时候,它会查询维基百科并将查询结果返回给用户,当我们向该chain打招呼的时候,它也能回复我们亲切的问候语,也就是说目前已经基本实现了让llm从上下文中自主判断是否需要调用外部函数,如需调用外部函数就通过langchain来实现自动调用外部函数并返回调用结果给到用户。目前看来自动调用外部函数的整体流程已基本打通,但结果其实并不完美,原因是外部函数调用结果都是格式化的,这对用户来说并不友好,今天我们就来解决如何让外部函数的调用结果变的对用户更加友好。我们会涉及到langchain中的agent的一些基本概念:
这里所谓的agent指大型语言模型(LLMs)与代码的一种组合,它具有推理能力和执行力。为了完成任务,agent还必须要有迭代能力(agent loop),比如agent在完成任务时可能会使用一些工具(tool),并观察工具的使用结果,如果结果不满意可以使用别的工具,直到出现满意的结果才停止。
接下来在正式“抠腚”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。