Search

Agents

대분류
인공지능/데이터
프레임워크
소분류
LangChain/RAG
유형
LangChain
부유형
Main Module Detail
최종 편집 일시
2024/10/27 15:16
생성 일시
2024/10/25 06:32
14 more properties

Agents

Chain과 더불어 랭체인에서 가장 중요한 개념 중 하나
다양한 tool을 사용하여 사용자의 입력에 따라 상황에 맞게 다른 결과를 반환받을 수 있다.
이제까지 설명했던 component들이 모두 LLM과 text와의 상호 작용 위주였다면, agent는 외부 다른 리소스와 상호작용이 가능하게끔 도와준다.
기본적으로 agent에는 다양한 tool들이 있다.
구글 검색 결과를 활용할 수 있는 serpapi 부터 날씨 정보를 알 수 있는 openweather api 등 수많은 기능들을 제공하며 지금 현재도 계속 추가되고 있다.
LLM과 에이전트(Agent), 그리고 툴(Tools)이 상호작용하여 사용자 요청을 처리하는 과정을 설명한 흐름도

1. Request (사용자 요청)

설명: 사용자는 에이전트에게 질문이나 요청을 보낸다. 예를 들어, 특정 주제에 대한 정보를 검색하거나 계산을 요청할 수 있다.
역할: 사용자의 질문이 시스템에 입력된다.

2. Agent (에이전트)

설명: 에이전트는 사용자의 요청을 받아 시스템과 상호작용하며, 툴들을 함수처럼 호출할 수 있다.
System + Request + Tools as Functions: 에이전트는 시스템과 툴을 함께 사용하여 요청을 처리할 준비를 한다.
역할: 에이전트는 요청을 처리할 방법을 결정하고, 필요하면 툴을 호출해 작업을 수행한다.

3. Function Call (함수 호출)

설명
에이전트는 사용자의 요청을 처리하기 위해 특정 툴(예: 검색 툴)을 호출한다.
예를 들어, 사용자의 질문을 검색할 필요가 있을 경우, 검색 툴을 호출해 검색을 수행한다.
Search + Query: 사용자의 질의가 검색 툴로 전달된다.
역할: 에이전트는 요청을 적절한 툴로 전달해 실제 작업을 수행하도록 한다.

4. Tools (툴)

설명
툴은 실제 작업을 수행하는 외부 시스템이다.
여기서는 검색 툴(Search Tool)이 사용되며, 사용자의 요청에 맞는 정보를 검색한다.
역할: 툴은 에이전트가 요청한 작업(예: 검색)을 처리하고 결과를 반환한다.

5. Search Tool (검색 툴)

설명: 이 툴은 사용자의 질의에 맞는 정보를 검색하고, 그 결과를 에이전트에게 반환한다.
역할: 요청된 정보를 검색한 후 그 결과를 다시 에이전트로 전달한다.

6. Response Handling (응답 처리)

설명
에이전트는 검색 결과를 받아 사용자의 요청과 함께 다시 LLM으로 전달한다.
LLM은 이 데이터를 바탕으로 응답을 생성한다.
System + Request + Search Result: 시스템은 요청과 검색 결과를 결합하여 LLM에게 전달한다.
역할: 에이전트는 툴의 결과를 이용해 LLM이 최종 응답을 생성하도록 준비한다.’

7. LLM (대형 언어 모델)

설명
LLM은 전달받은 데이터를 바탕으로 응답을 생성한다.
해당 예시에선 ChatGPT 3.5가 사용된다.
LLM은 사용자의 요청과 검색된 데이터를 분석해 답변을 완성한다.
역할: LLM은 데이터를 기반으로 적절한 답변을 생성하는 역할을 한다.

8. Response (최종 응답)

설명
LLM이 생성한 최종 응답이 사용자에게 전달된다.
이 응답은 사용자의 요청에 대한 완성된 답변이다.
역할: 시스템이 생성한 답변이 사용자에게 최종적으로 반환된다.