Wikipedia ツールを作る
学校の運営チームは、あなたの成果にとても満足しています! さらに外部リソースを取り入れて、チャットボットをもっと強力にしたいと考えています。あなたは Wikipedia へのアクセスをチャットボットに持たせることを提案しました。運営チームも依頼の延長に同意したため、Wikipedia API を使ってチャットボット向けのツールを作ることにしました。
以下のモジュールは、開始できるようにすでにインポートされています: WikipediaQueryRun, WikipediaAPIWrapper
この演習はコースの一部です
LangChainで設計するエージェント型システム
演習の手順
WikipediaAPIWrapper()をtop_k_results=1で初期化して、上位 1 件の Wikipedia 結果だけを取得するapi_wrapperを作成します。api_wrapperを入力として渡し、wikipedia_toolという名前のWikipediaQueryRun()ツールを作成し、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": [____.____(____["____"])]}