江西网站建设哪家公司好,建设网站翻译,保山市城市建设网站,网站域名如何备案信息Large Language Models (LLMs) 在语义知识方面表现不错#xff0c;但也有一些不足#xff0c;如#xff1a;不能正确计算数学公式、无法获取最新知识新闻
通过 Agents 可以赋予 LLMs 更多能力#xff0c;让LLM能够计算、上网查询
agent 简单使用
from langchain import …Large Language Models (LLMs) 在语义知识方面表现不错但也有一些不足如不能正确计算数学公式、无法获取最新知识新闻
通过 Agents 可以赋予 LLMs 更多能力让LLM能够计算、上网查询
agent 简单使用
from langchain import OpenAI
# 语言模型
llm OpenAI(
openai_api_keyOPENAI_API_KEY,
temperature0,
model_nametext-davinci-003
)from langchain.chains import LLMMathChain
from langchain.agents import Tool
# 能计算数学公式的一个chain
llm_math LLMMathChain(llmllm)# initialize the math tool
math_tool Tool(
nameCalculator,
funcllm_math.run,
descriptionUseful for when you need to answer questions about math. # 描述工具能做什么
)
# when giving tools to LLM, we must pass as list of tools
tools [math_tool]# 如果 langchain.agents 中有相关工具则可以直接使用
#from langchain.agents import load_tools
#tools load_tools(
#[llm-math],
#llmllm
)# 初始化 agent
from langchain.agents import initialize_agent
zero_shot_agent initialize_agent(agentzero-shot-react-description, # 无记忆的agenttoolstools, # tools 中只有math_tool所以只能做计算llmllm,verboseTrue, # 显示执行过程max_iterations3)
zero_shot_agent(what is (4.5*2.1)^2.2?)上面的 tools 中只有math_tool所以 zero_shot_agent 只能做计算不能回答其它常识问题可以在 tools 中添加更多工具使得 zero_shot_agent 拥有更多能力。
# 可以在 tools 中新增聊天工具
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
prompt PromptTemplate(
input_variables[query],
template{query}
)
llm_chain LLMChain(llmllm, promptprompt)# initialize the LLM tool
llm_tool Tool(
nameLanguage Model,
funcllm_chain.run,
descriptionuse this tool for general purpose queries and logic
)
tools.append(llm_tool)
# reinitialize the agent
zero_shot_agent initialize_agent(
agentzero-shot-react-description,
toolstools,
llmllm,
verboseTrue,
max_iterations3
)agent 类型
zero-shot-react-description 无缓存的方式聊天是单次的无上下文缓存
zero_shot_agent initialize_agent(
agentzero-shot-react-description,
toolstools,
llmllm,
verboseTrue,
max_iterations3,
)conversational-react-description 带缓存
from langchain.memory import ConversationBufferMemorymemory ConversationBufferMemory(memory_keychat_history)conversational_agent initialize_agent(
agentconversational-react-description,
toolstools,
llmllm,
verboseTrue,
max_iterations3,
memorymemory,
)react-docstore 可以检索知识库无缓存
from langchain import Wikipedia
from langchain.agents.react.base import DocstoreExplorerdocstoreDocstoreExplorer(Wikipedia())
tools [Tool(nameSearch, # 信息检索funcdocstore.search, descriptionsearch wikipedia),Tool(nameLookup, # 匹配相近结果funcdocstore.lookup, descriptionlookup a term in wikipedia)
]docstore_agent initialize_agent(tools,llm,agentreact-docstore,verboseTrue,max_iterations3)self-ask-with-search 将LLM与搜索引擎结合起来
from langchain import SerpAPIWrapper# initialize the search chain
search SerpAPIWrapper(serpapi_api_keyserp_api_key)# create a search tool
tools [Tool(nameIntermediate Answer,funcsearch.run,descriptiongoogle search)]# initialize the search enabled agent
self_ask_with_search initialize_agent(tools,llm,agentself-ask-with-search,verboseTrue)参考 Superpower LLMs with Conversational Agents