几种不同的agent类型
- ZERO_SHOT_REACT_DESCRIPTION
- CHAT_ZERO_SHOT_REACT_DESCRIPTION
- CONVERSATIONAL_REACT_DESCRIPTION
- CHAT_CONVERSATIONAL_REACT_DESCRIPTION
- OPENAI_FUNCTIONS
- STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION
ZERO_SHOT_REACT_DESCRIPTION 零样本增强式生成,即在没有示例的情况下可以自主的进行对话的类型。https://blog.csdn.net/zcyzcyjava/article/details/127006287 [零样本、单样本、少样本]
from langchain.llms import OpenAI
from langchain.agents import (
load_tools,
initialize_agent,
AgentType,
)
import os
os.environ["SERPAPI_API_KEY"] = "f265b8d9834ed7692cba6db6618e2a8a9b24ed6964c457296a2626026e8ed594"
llm = OpenAI(
temperature=0,
model="gpt-3.5-turbo-instruct",
)
tools = load_tools(["serpapi","llm-math"],llm=llm)
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
)
print(agent)
print(agent.agent.llm_chain.prompt.template)
#agent.invoke("现在美国总统是谁?他的年龄除以2是多少?")
CHAT_ZERO_SHOT_REACT_DESCRIPTION 使用了chatmodel
CONVERSATIONAL_REACT_DESCRIPTION 一个对话型的agent,这个agent要求与memory一起使用
CHAT_CONVERSATIONAL_REACT_DESCRIPTION 使用了chatmodel
OPENAI_FUNCTIONS,使用openai的函数调用来实现的,只支持openai模型。
STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION 对输出做了结构化处理