LangChain의 에이전트

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

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv Ltd.

강사 소개

    강사 사진.

   

  • Dilini K. Sumanapala, PhD

  • AI 엔지니어

  • 인지신경과학

  • 자연어 응용

  • Genverv Ltd. 설립자

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

에이전트와 도구 개요

에이전트를 나타내는 로봇 아이콘

 

  • 에이전트

    결정하고 행동하는 자율 시스템
  • 도구

    특정 작업을 수행하는 함수
    • 데이터 질의
    • 리서치 보고서
    • 데이터 분석
LangChain으로 에이전트형 시스템 설계하기

기본 개념

챗봇 머리

   

  • LLM(예: ChatGPT)

  • 프롬프트

  • 도구

  • API

  • LangChain

    • AI 에이전트 구축
LangChain으로 에이전트형 시스템 설계하기

코스 개요

    도구, 위키백과, 사람 얼굴 퍼즐 아이콘.

   

  • 수학 문제

  • 위키백과 검색

  • 도구와 LLM 전환

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

질의와 추론을 담은 말풍선과 뇌 그림.

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

질의·추론, 행동, 응답을 보여주는 뇌와 톱니, 말풍선 다이어그램.

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

ReAct 에이전트 구성요소를 나타내는 뇌·톱니·말풍선 다이어그램(아래에 ReAct 라벨).

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

응답 정확도 향상

    이전 ChatGPT 대화의 부정확한 수학 응답 스크린샷. 이미지 하단에 정답 "483" 표기.

   

  • 코딩

  • 수학

1 https://community.openai.com/t/chatgpt-simple-math-calculation-mistake/62780
LangChain으로 에이전트형 시스템 설계하기

문제 쪼개기

  수학 연산자 다이어그램.

 

연산 순서

1. 괄호

2. 지수

3. 곱셈/나눗셈

4. 덧셈/뺄셈

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

LangGraph로 에이전트 확장

      왼쪽은 일반 플로차트, 오른쪽은 LangGraph 로고.

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

그래프 구조

    플로차트와 아래에 세 가지 문서 아이콘(에지 결과 표현).

     

노드

  • 데이터베이스 질의

  • 문서 반환

     

에지

노드를 연결하는 규칙

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

ReAct 에이전트 생성

# Module imports

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
import math
# LLM Setup model = ChatOpenAI(openai_api_key="<OPENAI_API_TOKEN">, model="gpt-4o-mini")
LangChain으로 에이전트형 시스템 설계하기

ReAct 에이전트 생성

# Create the agent
agent = create_react_agent(model, tools)


# Create a query query = "What is (2+8) multiplied by 9?"
# Invoke the agent and print the response response = agent.invoke({"messages": [("human", query)]})
# Print the agent's response print(response['messages'][-1].content)
<script.py> output:
    The result of (2 + 8) multiplied by 9 is 90.
LangChain으로 에이전트형 시스템 설계하기

Vamos praticar!

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

Preparing Video For Download...