본문 바로가기
생성형 AI 활용법

LLM API 사용 시 Function Call

by 진희코딩 2025. 1. 29.

Function Calling은 LLM이 단순히 텍스트를 생성하는 것이 아니라, API를 통해 지정된 함수(JSON 형식)를 인식하고, 특정 기능을 수행하도록 요청하는 방식입니다. 이를 통해 AI가 정해진 방식으로 외부 데이터와 연동되거나, 특정 연산을 수행하는 것이 가능해집니다.

 


🔹 주요 LLM Function Call 지원 사례

모델 Function Calling 지원 여부 설명
GPT-4-turbo (OpenAI) ✅ 지원 사용자가 정의한 함수(JSON 기반) 호출 가능
Claude (Anthropic) 🚧 제한적 현재 직접적인 Function Calling 지원은 부족하나, API 연동 가능
Gemini (Google) ✅ 지원 JSON 기반 함수 호출 및 멀티모달 처리 가능
Mistral & LLaMA ❌ 미지원 기본적으로 Function Calling 기능 없음

🔹 OpenAI GPT-4-turbo의 Function Calling 사용 예시

OpenAI의 API에서 Function Calling을 사용할 때는 functions 파라미터를 추가하여 함수의 구조를 정의하고, LLM이 이를 감지하면 자동으로 해당 함수를 실행하도록 할 수 있습니다.

1. 함수 정의

python
복사편집
import openai

openai.api_key = "YOUR_API_KEY"

# 함수 정의(JSON 스키마)
functions = [
    {
        "name": "get_weather",
        "description": "현재 날씨 정보를 가져옵니다.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "날씨를 확인할 지역 (예: 서울, 뉴욕)"
                }
            },
            "required": ["location"]
        }
    }
]

# API 호출
response = openai.ChatCompletion.create(
    model="gpt-4-turbo",
    messages=[{"role": "user", "content": "서울의 날씨를 알려줘"}],
    functions=functions
)

# AI가 함수 호출을 제안하면 실행
if response["choices"][0]["finish_reason"] == "function_call":
    function_name = response["choices"][0]["message"]["function_call"]["name"]
    arguments = response["choices"][0]["message"]["function_call"]["arguments"]
    print(f"AI가 호출한 함수: {function_name}")
    print(f"입력된 매개변수: {arguments}")

2. 실제 함수 실행

AI가 함수 호출을 요청하면, 이를 실제 함수와 연결해 실행할 수 있습니다.

python
복사편집
import json

# 날씨 API 호출 함수
def get_weather(location):
    return {"location": location, "temperature": "22°C", "condition": "맑음"}

# AI가 호출한 함수 실행
if function_name == "get_weather":
    args = json.loads(arguments)
    weather_info = get_weather(args["location"])
    print("날씨 정보:", weather_info)


🔹 Function Calling의 장점

더 정밀한 AI 응답: 단순한 텍스트 응답이 아니라 특정 기능을 실행할 수 있음

API 연동 용이: OpenAI, Google API 등과 손쉽게 연계 가능

자동화된 워크플로우: LLM이 직접 함수를 호출하고 데이터를 처리할 수 있음


🔹 Function Calling 활용 사례

  • 실시간 데이터 조회: 날씨, 주식 가격, 뉴스 등
  • 업무 자동화: 이메일 보내기, 일정 생성, 고객 지원 챗봇
  • 데이터 분석: 데이터베이스 질의, 로그 분석 등

🔹 결론

LLM의 Function Calling 기능을 활용하면 AI가 단순한 질의응답을 넘어 실질적인 기능을 수행하는 강력한 도구로 발전할 수 있습니다. OpenAI, Google 등에서 적극적으로 지원하고 있으며, 이를 활용한 AI 서비스 개발이 점점 확대될 전망입니다.

🚀 Function Calling을 활용하여 더 스마트한 AI 응용 프로그램을 만들어보세요! 🚀

 

📌 Function Calling 및 LLM API 관련 참고 링크

🔹 OpenAI Function Calling 공식 문서
🔗 OpenAI API Docs - Function Calling

🔹 Anthropic Claude API
🔗 Claude API Documentation

🔹 Google Gemini API
🔗 Google AI - Gemini API

🔹 Meta LLaMA 오픈소스 모델
🔗 Meta AI - LLaMA

🔹 Mistral AI
🔗 Mistral AI Official

🔹 Function Calling 개념 및 활용 예제
🔗 OpenAI Function Calling Examples

이 링크들을 참고하면 Function Calling 및 다양한 LLM API 활용법을 더 깊이 이해하는 데 도움이 될 것입니다! 🚀