江苏省省建设集团网站,谷歌seo优化是什么,北京百度竞价,虚拟币挖矿网站开发GPT实战系列-如何让LangChain的Agent选择工具
LangChain
GPT实战系列-LangChain如何构建基通义千问的多工具链
GPT实战系列-构建多参数的自定义LangChain工具
GPT实战系列-通过Basetool构建自定义LangChain工具方法
GPT实战系列-一种构建LangChain自定义Tool工具的简单方法…GPT实战系列-如何让LangChain的Agent选择工具
LangChain
GPT实战系列-LangChain如何构建基通义千问的多工具链
GPT实战系列-构建多参数的自定义LangChain工具
GPT实战系列-通过Basetool构建自定义LangChain工具方法
GPT实战系列-一种构建LangChain自定义Tool工具的简单方法
GPT实战系列-搭建LangChain流程简单应用
GPT实战系列-简单聊聊LangChain搭建本地知识库准备
GPT实战系列-LangChain ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-简单聊聊LangChain
大模型查询工具助手之股票免费查询接口
随着OpenAI的GPT-4这样的大型语言模型LLMs已经风靡全球现在让它们自动执行各种任务如回答问题、翻译语言、分析文本等。LLMs是在交互上真正体验到像“人工智能”。
如何管理这些模块呢
LangChain在这方面发挥重要作用。LangChain使构建由LLMs驱动的应用程序变得简单使用LangChain可以在统一的界面中轻松与不同类型的LLMs进行交互管理模型版本管理对话版本并将LLMs连接在一起。 对于任何用户输入当知道工具使用的具体顺序时Chain就很好。但是对于某些情况使用哪些工具调用多少次取决于用户输入。在这些情况下我们就希望让模型决定使用工具的次数和顺序。这就是Agent。
LangChain自带了许多内置的Agent这些Agent针对 不同情况类型。
举个例子如果尝试一下 OpenAI 工具代理它利用新的 OpenAI 工具调用 API。
设置环境变量
import getpass
import osos.environ[OPENAI_API_KEY] getpass.getpass()定义Tools
同前篇所示为了让Agent可以选实现三个自定义工具 Tools首先需要做一些配置初始化的工作导入langchain相关的包。
from langchain_core.tools import tooltool
def multiply(first_int: int, second_int: int) - int:Multiply two integers together.return first_int * second_inttool
def add(first_int: int, second_int: int) - int:Add two integers.return first_int second_inttool
def exponentiate(base: int, exponent: int) - int:Exponentiate the base to the exponent power.return base**exponenttools [multiply, add, exponentiate]构建Prompt
实现代码创建Prompt模版配置大模型以及输出解析函数。
from langchain import hub
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain_openai import ChatOpenAIprompt hub.pull(hwchase17/openai-tools-agent)
创建并调用Agent
把各碎片链接起来建立Agent
#引用OpenAI模型创建代理
model ChatOpenAI(modelgpt-3.5-turbo-1106, temperature0)agent create_openai_tools_agent(model, tools, prompt)# 执行
agent_executor AgentExecutor(agentagent, toolstools, verboseTrue)agent_executor.invoke({input: Take 3 to the fifth power and multiply that by the sum of twelve and three, then square the whole result}
)输出结果 Entering new AgentExecutor chain...
Invoking: exponentiate with {base: 3, exponent: 5}
243Invoking: add with {first_int: 12, second_int: 3}
15Invoking: multiply with {first_int: 243, second_int: 15}
3645Invoking: exponentiate with {base: 3645, exponent: 2}
13286025The result of raising 3 to the fifth power and multiplying that by the sum of twelve and three, then squaring the whole result is 13,286,025. Finished chain.{input: Take 3 to the fifth power and multiply that by the sum of twelve and three, then square the whole result,output: The result of raising 3 to the fifth power and multiplying that by the sum of twelve and three, then squaring the whole result is 13,286,025.}是不是很有趣
LangChain是一个Python框架可以使用LLMs构建应用程序。它与各种模块连接使与LLM和提示管理一切变得简单。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章
GPT实战系列-实战Qwen通义千问在Cuda 1224G部署方案_通义千问 ptuning-CSDN博客
GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案
GPT实战系列-让CodeGeeX2帮你写代码和注释_codegeex 中文-CSDN博客
GPT实战系列-ChatGLM3管理工具的API接口_chatglm3 api文档-CSDN博客
GPT实战系列-大话LLM大模型训练-CSDN博客
GPT实战系列-LangChain ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(一)
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案
GPT实战系列-Baichuan2等大模型的计算精度与量化
GPT实战系列-GPT训练的PretrainingSFTReward ModelingRLHF
GPT实战系列-探究GPT等大模型的文本生成-CSDN博客