7.2 예제: 계산기, 날씨 API, DB 조회기

Function Calling 기능을 통해 GPT 모델에게 구조화된 도구를 사용하게 하여 다양한 외부 기능과의 연동 기반 작업을 수행할 수 있습니다. 본 절에서는 대표적인 세 가지 연동 예제를 중심으로 Function Calling의 실전 활용을 보여드립니다.

  • 계산기 (산술 연산 API)

  • 날씨 조회 (외부 API 호출)

  • 데이터베이스 조회기 (DB 쿼리 실행)

이 예제들은 GPT의 인공지능 능력과 구조화된 프로그래밍 호출 방식의 결합을 보여 주는 훌륭한 데모입니다.

7.2.1 계산기 함수 예제

가장 기본적이면서도 GPT로 수행하기에는 부정확할 수 있는 대표적인 작업이 바로 산술 연산입니다. “3.87 곱하기 12.5는 얼마야?”와 같은 질문은 언뜻 단순해 보이지만, AI 모델은 종종 부정확한 결과를 출력합니다.

함수 정의

계산을 위한 간단한 함수는 다음과 같이 구성됩니다:

def calculate(operator: str, a: float, b: float) -> float:
    if operator == "add":
        return a + b
    elif operator == "subtract":
        return a - b
    elif operator == "multiply":
        return a * b
    elif operator == "divide" and b != 0:
        return a / b
    else:
        raise ValueError("잘못된 연산자 또는 0으로 나누기")

Function Schema 정의

OpenAI API에 이 함수를 사용할 수 있도록 명세합니다.

GPT 호출 예시

GPT는 사용자의 질문을 이해하고 calculate 함수를 호출하도록 응답할 수 있습니다:

이후 해당 함수 호출 결과를 가지고 GPT에게 다시 전달하면 최종 응답이 생성됩니다.

7.2.2 날씨 API 연동

GPT가 실시간 정보를 알 수 없다는 가장 큰 제약을 극복하는 방법 중 하나가 Function Calling입니다. 여기서는 외부 날씨 API(OpenWeatherMap 등)를 연동해 GPT가 실시간 날씨 정보를 사용자에게 전달하도록 해보겠습니다.

예시: OpenWeatherMap API 호출 함수

Function Schema 정의

GPT 호출 및 함수 실행 흐름

GPT의 응답이 다음과 같다면:

해당 함수 결과:

결과 메시지를 GPT에게 전달:

7.2.3 데이터베이스 조회기 (DB 조회)

기업 내 시스템, 예컨대 고객 정보, 재고 현황, 직원 데이터 등을 GPT를 통해 조회하도록 만들 수 있습니다.

SQLite를 활용한 예시: 사용자 이메일 조회

데이터베이스 구성 예시:

샘플 데이터:

파이썬 함수:

Function Schema 정의

GPT 호출 및 워크플로우

GPT가 다음과 같이 응답하면:

이를 함수로 처리:

이후 메시지 흐름에 결과 연결:

마무리 및 확장 아이디어

Function Calling은 GPT가 내부 “지식 기반”이 아닌 “외부 도구나 데이터”와 실시간으로 상호작용하는 인터페이스를 제공합니다.

use case
사용 도구
활용 포인트

계산기

내부 정의된 연산 함수

정확성 높이기

날씨

외부 API(OpenWeatherMap)

실시간 외부 정보 연동

데이터베이스 조회

SQLite, SQLAlchemy 등

기업 전산시스템 통합

추가적으로 Function Calling은 다음과 같은 방향으로 확장될 수 있습니다:

  • 검색 엔진과 연동하여 최신 정보 전달

  • ERP, CRM 시스템과 연결

  • 금융 데이터 실시간 조회기 구현

  • 사용자 맞춤형 추천 시스템

이 기능은 AI를 하나의 ‘스마트 허브’로 진화시키는 강력한 통로입니다.

다음 절에서는 이 Function Calling 기술과 JSON Mode를 결합하여 구조화된 응답을 강제하는 방법에 대해 설명하겠습니다.

Last updated