시작하기무료로 시작하기

Wikipedia 도구 만들기

학교 행정팀이 여러분의 작업에 매우 만족하고 있어요! 이제 외부 리소스를 통합해 챗봇을 더 강력하게 만들고 싶어 합니다. 여러분은 챗봇에 Wikipedia 접근 기능을 추가하자고 제안했고, 행정팀도 의뢰 연장을 승인했어요. 그래서 Wikipedia API를 사용해 챗봇용 도구를 만들어 보기로 했습니다.

다음 모듈이 시작을 돕기 위해 이미 임포트되어 있습니다: WikipediaQueryRun, WikipediaAPIWrapper

이 연습은 강의의 일부입니다

LangChain으로 에이전트형 시스템 설계하기

강의 보기

연습 안내

  • WikipediaAPIWrapper()top_k_results=1로 초기화하는 api_wrapper를 만들어, Wikipedia 상위 1개 결과만 가져오도록 하세요.
  • 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": [____.____(____["____"])]}
코드 편집 및 실행