สร้าง Wikipedia tool
ฝ่ายบริหารโรงเรียนพอใจกับผลงานของคุณมาก และต้องการให้แชทบอทมีความสามารถมากขึ้นด้วยการเชื่อมต่อกับแหล่งข้อมูลภายนอก คุณจึงเสนอให้แชทบอทเข้าถึง Wikipedia ได้ ฝ่ายบริหารเห็นด้วยและขยายขอบเขตงาน คุณจึงตัดสินใจสร้าง tool สำหรับแชทบอทโดยใช้ Wikipedia API
โมดูลต่อไปนี้ได้รับการนำเข้าให้แล้ว: WikipediaQueryRun, WikipediaAPIWrapper
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบระบบ Agentic ด้วย LangChain
คำแนะนำการฝึกหัด
- สร้าง
api_wrapperโดย initializeWikipediaAPIWrapper()พร้อมกำหนดtop_k_results=1เพื่อดึงเฉพาะผลลัพธ์อันดับแรกจาก Wikipedia - สร้าง tool
WikipediaQueryRun()ชื่อwikipedia_toolโดยส่งapi_wrapperเป็น input จากนั้นบันทึกลงในลิสต์ชื่อtools - ผูก
toolsเข้ากับllmโดยส่งลิสต์ดังกล่าวไปยังเมธอด.bind_tools() - เพื่อให้แชทบอทตอบโดยใช้ tool ให้ส่งเนื้อหาของ
"messages"ในstateไปยังเมธอด.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": [____.____(____["____"])]}