构建一个 Wikipedia 工具
校方对您的工作非常满意!他们希望通过引入外部资源,让聊天机器人更强大。您建议为聊天机器人接入 Wikipedia。校方同意延长您的委托,因此您决定使用 Wikipedia API 为聊天机器人构建一个工具。
以下模块已为您导入,便于开始:WikipediaQueryRun、WikipediaAPIWrapper
本练习是课程的一部分
使用 LangChain 设计 Agentic 系统
练习说明
- 创建一个
api_wrapper,用WikipediaAPIWrapper()初始化,并设置top_k_results=1,只获取 Wikipedia 的首条结果。 - 创建一个名为
wikipedia_tool的WikipediaQueryRun()工具,将api_wrapper作为输入传入,并将其保存到名为tools的列表中。 - 通过调用
.bind_tools()方法并传入tools列表,将其绑定到llm。 - 为了让聊天机器人使用该工具进行回复,将
state中"messages"的内容传入.invoke()方法,并应用到llm_with_tools。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Initialize Wikipedia API wrapper to fetch top one result
api_wrapper = ____(top_k_results=1)
# Create a Wikipedia query tool using the API wrapper
wikipedia_tool = ____(api_wrapper=____)
tools = [____]
# Bind the Wikipedia tool to the language model
llm_with_tools = ____.____(____)
# Modify chatbot function to respond with Wikipedia
def chatbot(state: State):
return {"messages": [____.____(____["____"])]}