HumanInputLLM的模拟使用
类似于假的语言模型(LLM),LangChain 提供了一个伪语言模型类,可以用于测试、调试或教育目的。这允许你模拟对LLM的调用,并模拟如果人类接收到提示会如何响应。
在本示例中,我们将介绍如何使用这个功能。
我们首先在代理中使用HumanInputLLM。
from langchain_community.llms.human import HumanInputLLM
from langchain.agents import AgentType, initialize_agent, load_tools
# 由于我们将在这个笔记本中使用WikipediaQueryRun工具,如果你还没有安装wikipedia包,可能需要先安装。
%pip install wikipedia
# 加载工具
tools = load_tools(["wikipedia"])
# 初始化HumanInputLLM,使用lambda函数打印提示
llm = HumanInputLLM(
prompt_func=lambda prompt: print(
f"\n===PROMPT====\n{prompt}\n=====END OF PROMPT======"
)
)
# 初始化代理,使用加载的工具和语言模型
agent = initialize_agent(
tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
# 运行代理,查询"What is 'Bocchi the Rock!'?"
agent.run("What is 'Bocchi the Rock!'?")
总结:
本文介绍了如何使用LangChain社区的HumanInputLLM类来模拟人类输入,以便于在不调用真实语言模型的情况下测试和调试。通过定义一个简单的提示打印函数,我们能够模拟语言模型接收到的输入,并观察代理如何处理这些输入。
扩展知识:
- LangChain:是一个开源的库,用于构建和使用语言模型的应用程序。
- LLM(Language Model):语言模型,通常指的是预训练的深度学习模型,能够生成或理解自然语言文本。
- AgentType.ZERO_SHOT_REACT_DESCRIPTION:代理类型,指的是在没有经过特定任务训练的情况下,能够根据描述立即执行任务的代理。
- wikipedia包:一个Python包,用于访问维基百科的API,获取维基百科页面的内容。