함수 호출 개요 — 모델·도구 연결의 핵심
함수 호출 개요
함수 호출(function calling)은 모델이 앱의 기능과 브리지가 되는 기능이에요. 모델은 '어떤 함수를, 어떤 인자로 호출할까'를 생성하고, 애플리케이션은 그 인자로 실제 함수를 실행한 뒤 결과를 모델에 돌려주는 식으로 동작해요.
흐름
- 모델에 도구(함수) 정의와 이름·설명·인자 스키마를 넘겨요.
- 모델이 호출할 함수와 인자(JSON)를 결정해요.
- 앱이 그 함수를 실제 실행해요.
- 결과를 메시지로 모델에 돌려주면 모델이 최종 응답을 이어가요.
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 호출, 계산을 하도록 만들어, 단순 텍스트 생성 이상의 실질적인 작업을 처리하게 해줘요.