해당 포스트는 인프런에서 "AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)" 강의를 듣고 정리한 내용입니다. 이번에는 Tool Calling 성능을 개선하기 위한 Few-shot 프롬프팅에 대해서 알아보았다. Few-shot 프롬프팅모델에게 몇 가지 예시를 제공해서 원하는 출력 형식이나 작업 수행 방식을 보여주는 기법이다.모델에게 도구를 어떻게 사용해야하는지 예시를 통해 보여주는 목적으로 사용한다. Tool Calling 에 Few-shot 프롬프팅 적용해보기그럼 Tool Calling 을 할 때 어떻게 Few-show 프롬프팅을 적용할 수 있을까? 먼저 예시로 대화 예시를 생성한다. 이전에 실습하면서 진행했던 과정을 떠올리면서 예시 프롬프트를 입력해준다.아래와 같이 HumanMessag..
해당 포스트는 인프런에서 "AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)" 강의를 듣고 정리한 내용입니다. 이번에는 벡터 스토어를 도구로 변환해서 사용해보려고 한다. 문서 가져와서 청크로 분할하기 (청킹)먼저 문서를 읽어와서 임베딩해서 벡터 스토어에 저장해서 검색하는 과정을 만들고 이러한 과정을 도구로 만들어서 사용해보려고 한다.강의에서 제공해 준 레스토랑 메뉴와 와인에 대한 메뉴와 식재료, 설명이 들어있는 문서를 가져와서 사용해보려고 한다. 먼저, 문서를 가져온다.from langchain.document_loaders import TextLoader# 메뉴판 텍스트 데이터를 로드loader = TextLoader("../../data/restaurant_menu.txt", encod..
해당 포스트는 인프런에서 "AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)" 강의를 듣고 정리한 내용입니다. 이 글에서는 LangChain 의 Runnable 인터페이스에 대해서 알아보고 Runanble 객체를 만들어 도구로 변환해서 사용하는 방법에 대해서 실습하고 정리해보려고 한다. Runnable 인터페이스에 대해서 알아보기먼저 LangChain 에서 Runnable 객체가 무엇인지 먼저 알아보았다. 아래의 LangChain 문서를 살펴보니 다음과 같이 설명하고 있다. Runnable interface | 🦜️🔗 LangChainThe Runnable interface is the foundation for working with LangChain components, and it..
해당 포스트는 인프런에서 "AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)" 강의를 듣고 정리한 내용입니다. 이번에는 LangChain 에서 도구를 직접 만들 수 있는 방법에 대해서 알아보고 정리해보려고 한다. LangChain 사용자 정의 도구(Tool)LangChain 에서는 사용자가 직접 도구를 정의해서 사용할 수 있는 방법을 제공해주고 있다. 가장 대표적인 방법으로는 @tool 이라는 데코레이터를 사용해서 도구를 정의하는 방법이다.도구 함수를 정의하기 위한 작성 가이드라인의 원칙을 준수해야하고 도구의 설명을 명확하게 LLM 이 이해할 수 있도록 작성해주어야 한다. LangChain 사용자 정의 도구 만들어보기강의를 참고해서 직접 정의한 도구를 만들어서 사용해보자.from typin..
해당 포스트는 인프런에서 "AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)" 강의를 듣고 정리한 내용입니다. 지난 포스트에 이어서 이번에는 LLM 에 Tool Message 를 전달해서 답변을 생성하는 과정에 대해서 공부하고 정리해보려고 한다. ToolMessage 를 LLM 에 전달해서 답변 생성하기지난 포스트에서는 도구를 사용해보고 LLM 을 통해 도구를 바인딩해서 사용해보는 과정을 하나씩 진행했었는데이번에는 하나로 연결해서 답변까지 생성해주는 과정을 진행해보려고 한다. 먼저, Tavily 검색 도구와 LLM 모델을 각각 정의해서 객체로 만들어주었다. Tavily 검색 도구 정의 (tavily_search_tool.py)import warningswarnings.filterwarnin..