함수 호출 개요 — 모델·도구 연결의 핵심

함수 호출 개요

함수 호출(function calling)은 모델이 앱의 기능과 브리지가 되는 기능이에요. 모델은 '어떤 함수를, 어떤 인자로 호출할까'를 생성하고, 애플리케이션은 그 인자로 실제 함수를 실행한 뒤 결과를 모델에 돌려주는 식으로 동작해요.

흐름

  1. 모델에 도구(함수) 정의와 이름·설명·인자 스키마를 넘겨요.
  2. 모델이 호출할 함수와 인자(JSON)를 결정해요.
  3. 앱이 그 함수를 실제 실행해요.
  4. 결과를 메시지로 모델에 돌려주면 모델이 최종 응답을 이어가요.
from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get current weather for a city",
            "parameters": {
                "type": "object",
                "properties": {"city": {"type": "string"}},
                "required": ["city"],
            },
        },
    }],
    messages=[{"role": "user", "content": "What's the weather in Seoul?"}],
)

왜 중요한가

함수 호출은 에이전트·RAG·도구 사용의 기반이 돼요. 모델이 데이터베이스 조회, API 호출, 계산을 하도록 만들어, 단순 텍스트 생성 이상의 실질적인 작업을 처리하게 해줘요.

더 알아보기