引言:这篇文章介绍了如何使用fake LLM来进行测试,以及为什么要使用fake LLM。所谓fake LLM,指的就是一种模拟语言模型(LLM)的工具,它能够模拟出一些特定的情况和响应,让我们更好地测试和验证自己的代码。
在本文中,我们将以在agent中使用FakeLLM为例来说明如何使用fake LLM。
首先,我们需要导入所需的库,并定义一些模拟响应:
from langchain.llms.fake import FakeListLLM
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
tools = load_tools(["python_repl"])
responses=[
"Action: Python REPL\nAction Input: print(2 + 2)",
"Final Answer: 4"
]
llm = FakeListLLM(responses=responses)
这段代码中,我们导入了需要用到的库,并定义了一个responses的列表,其中包含了两个字符串。这两个字符串都是我们希望fake LLM能够响应的内容,第一个字符串表示我们要执行一个名为“Python REPL”的操作,并将“print(2 + 2)”作为参数传入,第二个字符串表示最终的响应结果是数字“4”。
然后,我们使用FakeListLLM类来创建一个fake LLM对象,并将刚才定义的responses列表作为参数传入。
接下来,我们需要初始化一个agent,并将上面创建的llm对象作为参数传入:
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
这段代码中,我们调用initialize_agent函数,将tools、llm和agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION作为参数传入。其中,tools指的是我们要使用的工具,这里是“python_repl”;llm是我们刚才创建的fake LLM对象;AgentType.ZERO_SHOT_REACT_DESCRIPTION表示我们要使用的agent类型。
最后,我们调用agent.run函数来执行代码:
agent.run("whats 2 + 2")
这段代码中,我们以“whats 2 + 2”作为参数调用agent.run函数。这将返回我们刚才定义的responses列表中的两个字符串,其中包括Python REPL操作和最终的响应结果数字“4”。
通过这种方式,我们可以轻松使用fake LLM来测试和验证自己的代码,并模拟出各种不同的情况和响应结果。
今天就到这里,明天继续连载。