建立 Wikipedia 工具
學校行政單位對你的成果相當滿意!他們希望透過整合外部資源,讓聊天機器人更強大。你建議替聊天機器人加入 Wikipedia 的查詢能力。行政單位同意延長你的委託,因此你決定使用 Wikipedia API 為聊天機器人打造一個工具。
以下模組已為你匯入,方便開始使用:WikipediaQueryRun、WikipediaAPIWrapper
本練習屬於課程
Designing Agentic Systems with LangChain
練習說明
- 建立一個
api_wrapper,以top_k_results=1初始化WikipediaAPIWrapper(),只擷取排名最高的 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": [____.____(____["____"])]}