ㅇTool Calling: LLM(Large Language Model)이 외부 도구(함수, API, 데이터베이스 등)를 호출하여 특정 작업을 수행하는 기능
LLM 자체가 모든 정보를 가지고 있지 않거나 계산을 직접 수행할 수 없는 경우, 외부 도구를 활용하여 정확한 답변을 생성할 수 있다
기본적으로 LLM은 훈련된 데이터에 기반하여 응답을 생성하지만, 다음과 같은 한계가 있다
- 최신 정보 부족 → LLM은 훈련 이후의 최신 데이터를 반영할 수 없음
- 정확한 연산 수행 어려움 → 복잡한 계산, 데이터 검색 등을 직접 수행할 수 없음
- 외부 시스템과의 연동 필요 → API 호출, 데이터베이스 조회 등의 기능이 필요할 수 있음
이를 해결하기 위해 Tool Calling 기능이 도입되었다. LLM은 입력된 프롬프트에 따라 적절한 외부 도구를 선택하고, 이를 호출한 후 결과를 바탕으로 최종적인 응답을 생성한다.
Tool Calling의 동작 방식
- 사용자 입력 처리
- 사용자가 질의를 입력하면, LLM은 이를 분석하여 Tool Calling이 필요한지 판단
- 적절한 도구 선택
- LLM은 사전에 정의된 도구 목록에서 적절한 API, 함수 또는 데이터베이스 조회 기능을 선택
- "서울의 날씨가 어때?" → 날씨 API 호출 필요
- 도구 호출 및 결과 반환
- LLM이 외부 API 또는 함수 호출을 요청하면, 해당 도구가 실행되어 결과를 반환
- get_weather("Seoul") → {"temperature": 15, "condition": "Sunny"}
- LLM이 응답 생성
- Tool에서 받은 결과를 바탕으로 최종 응답을 생성하여 사용자에게 제공
- "현재 서울의 날씨는 15도이며, 맑습니다."
(API 호출 예제)
사용자 입력: "비트코인의 현재 가격이 얼마야?"
Tool Calling 과정:
- LLM은 "비트코인 가격 조회" API가 필요하다고 판단
- get_crypto_price("BTC") API를 호출
- API 응답: {"price": 42,500}
- 최종 응답: "현재 비트코인의 가격은 42,500달러입니다."
(계산기 호출 예제)
사용자 입력: "1542 × 283을 계산해줘."
Tool Calling 과정:
- LLM은 내부적으로 연산이 어려우므로 계산기 함수 호출이 필요하다고 판단
- calculator.multiply(1542, 283) 실행
- 결과 반환: 436,386
- 최종 응답: "1542 × 283의 결과는 436,386입니다."
※ Tool Calling vs RAG
Tool Calling은 LLM이 외부 도구를 활용하여 보다 정확하고 신뢰할 수 있는 응답을 생성하는 기술이다. 이를 통해 최신 정보를 반영하고, 연산을 수행하며, 다양한 데이터 소스와 연동할 수 있다. AI 비서, 검색 엔진, 금융 데이터 분석, 의료 진단 등 다양한 산업에서 활용되고 있으며, 앞으로 더욱 발전할 것으로 기대된다.
'인공지능 > 생성형 AI' 카테고리의 다른 글
[생성형 AI] LangChain이란? (0) | 2025.02.17 |
---|---|
[생성형 AI] AGI(Artificial General Intelligence): 인공지능의 최종 목표 (1) | 2025.02.17 |
[생성형 AI] RAG (Retrieval-Augmented Generation) 개요 (0) | 2025.02.17 |
[생성형 AI] GPT 개념 (2) | 2025.02.16 |
[생성형 AI] Transformer 구조 (0) | 2025.02.16 |