第一个Agent

  • 注意当前使用的langchain版本为0.1.4,调用方式和之前旧版本有所差异
from langchain_openai import ChatOpenAI
from langchain import hub
from langchain.agents import load_tools
from langchain.agents import create_openai_functions_agent #不同的agent有不同的创建方式
from langchain.agents import AgentExecutor
#创建LLM
llm = ChatOpenAI(model_name="gpt-4", temperature=0)
#定义agent的prompt
#https://smith.langchain.com/hub/hwchase17/openai-functions-agent
prompt = hub.pull("hwchase17/openai-functions-agent")
#定义工具,加载预制的工具,注意有的工具需要提供LLM
tools = load_tools(["llm-math"], llm=llm)
#创建agent
agent = create_openai_functions_agent(llm, tools, prompt)
#定义agent的执行器,这里注意与老版本的不同
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
agent_executor.invoke({"input": "你好"})

Agent

  • 中间步骤处理
  • 提示词
  • 模型配置(停止符必要的话)
  • 输出解析器

定义agent

一个比较复杂的agent

  • 工具
  • 检索增强RAG
  • 记忆
Prev post

LangChain 026

Next post

LangChain 028