Xây dựng một công cụ Wikipedia
Ban giám hiệu rất hài lòng với công việc của bạn! Họ muốn chatbot còn mạnh mẽ hơn bằng cách tích hợp các nguồn lực bên ngoài. Bạn đề xuất trang bị cho chatbot quyền truy cập Wikipedia. Ban giám hiệu đồng ý gia hạn hợp đồng, vì vậy bạn quyết định xây dựng một công cụ cho chatbot bằng Wikipedia API.
Các mô-đun sau đã được nhập sẵn để bạn bắt đầu: WikipediaQueryRun, WikipediaAPIWrapper
Bài tập này là một phần của khóa học
Thiết kế Hệ thống Agentic với LangChain
Hướng dẫn bài tập
- Tạo một
api_wrapperkhởi tạoWikipediaAPIWrapper()vớitop_k_results=1để chỉ lấy kết quả hàng đầu từ Wikipedia. - Tạo một công cụ
WikipediaQueryRun()tên làwikipedia_tool, truyềnapi_wrapperlàm đầu vào rồi lưu công cụ này vào một danh sách têntools. - Gắn danh sách
toolsvàollmbằng cách truyền nó vào phương thức.bind_tools(). - Để hướng chatbot trả lời bằng công cụ, hãy truyền nội dung của
"messages"trongstatevào phương thức.invoke()và áp dụng nó chollm_with_tools.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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": [____.____(____["____"])]}