AI

[AI] LLM의 Function Calling: AI와 외부 세계를 연결하다

기록하는 백앤드개발자 2024. 11. 6. 06:49
반응형

ㅁ 들어가며

오늘은 Large Language Model(LLM)의 흥미로운 기능인 Function Calling에 대해 정리하였다.

이 기능은 AI 모델이 외부 세계와 상호작용하는 방식을 크게 변화시키고 있습니다.

 

ㅁ Function Calling이란?

  Function Calling은 LLM이 사용자의 질문이나 요청을 이해하고, 그에 맞는 적절한 함수를 선택하여 실행할 수 있게 하는 기능이다. 이를 통해 LLM은 단순히 텍스트를 생성하는 것을 넘어서 실제 작업을 수행하거나 외부 데이터를 활용할 수 있게 된다.

 

ㅁ 작동 원리

  1. 사용자 입력: 사용자가 질문이나 요청을 입력
  2. 함수 정의: 개발자가 미리 정의한 함수들이 LLM에 제공
  3. 함수 선택: LLM이 입력을 분석하고 적절한 함수를 선택
  4. 매개변수 생성: LLM이 선택한 함수에 필요한 매개변수를 JSON 형태로 생성
  5. 함수 실행: 애플리케이션이 LLM이 선택한 함수를 실제로 실행
  6. 결과 활용: 함수 실행 결과가 LLM에 제공되어 최종 응답을 생성

ㅁ Function Calling의 장점

  1. 실시간 데이터 접근: LLM이 최신 정보나 실시간 데이터에 접근할 수 있다.
  2. 사용자 맞춤 기능: 개인 정보나 비즈니스 데이터를 활용한 맞춤형 응답이 가능하다.
  3. 작업 자동화: 이메일 전송, 일정 관리 등 실제 작업을 수행할 수 있다.
  4. API 통합: 외부 API와 쉽게 연동하여 다양한 서비스를 제공할 수 있다.

ㅁ 활용 사례

  1. 날씨 정보 제공: "서울의 오늘 날씨는 어때?" 라는 질문에 실제 날씨 API를 호출하여 최신 정보를 제공한다.
  2. 개인 일정 관리: "다음 주 회의 일정을 알려줘" 요청에 사용자의 캘린더 API를 호출하여 정확한 정보를 제공한다.
  3. 데이터 분석: "지난 달 매출 보고서를 요약해줘" 요청에 데이터베이스 쿼리를 실행하고 결과를 요약한다.

ㅁ 관련 유튜브

How does OpenAI Function Calling work?

 ㄴ git: https://github.com/mneedham/LearnDataWithMark/blob/main/openai-function-calling/function_calling_openai.py

LLM Makerspace - Function Calling for LLMs: RAG without a Vector Database

 ㄴ git: https://github.com/logicalclocks/hopsworks-tutorials/tree/master/advanced_tutorials/llm_pdfs

 

ㅁ 마무리 

  Function Calling은 LLM의 능력을 크게 확장시키는 기능이다. 이를 통해 AI는 더욱 실용적이고 강력한 도구가 될 수 있다. 더욱이 비지니스 모델을 만들 때에 앞으로 Function Calling을 활용한 다양한 애플리케이션이 등장할 것으로 기대된다. AI 개발자 뿐만 아니라 나와 같은 백엔드 개발자도 이 기능을 잘 활용하여 자사의 서비스를 AI 서비스로 확장할 수 있다.

 

ㅁ 함께 보면 좋은 사이트

openai - Function calling

 Function Calling with LLMs

 

반응형