이전 포스팅에서 다룬 Assistants API의 기본 사용법과 Retrieval 도구 사용에 이어, 이번 글에서는 '함수 호출(Function calling)' 도 구의 활용법을 알아보고, 이를 통해 간단한 '해외직구 최저가 확인 챗봇'을 구현하는 과정을 소개합니다.
- 목차 -
해외직구 최저가 확인 챗봇
함수호출 (Function calling)
개발과정 (Assistants API, Function calling)
JSON 파일 출력을 위한 함수
Assistant 생성
Message를 포함한 Thread 생성
Run 생성
Run의 상태를 확인하는 코드
Run 실행에 필요한 Function 확인
Function calling
Message 리스트 출력
Thread 삭제
Playground에서 Function calling 사용한 해외직구 최저가 확인 챗봇
정리
해외직구 최저가 확인 챗봇
OpenAI의 Assistants API는 다양한 애플리케이션 개발에 유용한 도구를 제공하며, 특히 '함수 호출' 기능은 챗봇이 사용자 정의 함수를 활용할 수 있게 해주는 강력한 기능입니다. 본 글에서는 사용자가 어떤 물품을 구입하려고 할 때 해외 쇼핑몰의 최저가와 환율을 확인한 후에 한화로 최저가를 제공하는 '최저가 확인 챗봇' 기능을 구현하려고 합니다. 이 예시는 실제 상품 검색이나 환율 조회 기능을 포함하지 않고, '함수 호출' 기능의 사용법을 이해하는 데 중점을 둡니다.
Retrieval 도구를 사용한 챗봇 구현은 OpenAI Assistants API와 Retrieval로 챗봇 만들기: 5단 계 완전 가이드 에 정리되어 있으니 확인해 보시면 좋을 것 같습니다.
함수호출 (Function calling)
'함수 호출' 기능은 Assistant가 사용자가 사전에 정의한 함수를 사용할 수 있도록 합니다. 이 기능의 핵심은 Assistant가 직접 함수를 호출하는 것이 아니라, 필요한 정보를 얻기 위해 사용자에게 함수 호출을 요청하고, 사용자가 제공한 결과를 바탕으로 응답을 생성한다는 점입니다.
참고로 OpenAI 사이트에서 확인할 수 있는 Function calling에 대한 기본적인 설명은 다음과 같습니다.
platform.openai.com/docs/assistants/tools/function-calling
개발과정 (Python)
개발을 위한 기본 설정 및 준비는 “OpenAI의 Assistants API: 인공지능 기반 ChatGPT 챗봇 개발의 새로운 지평“의 “Python으로 Assistants API 실행