동적인 AI 트렌드에 맞춰 API 전략 조정하기
September 26, 2023
오늘날 빠르게 변화하는 기술 환경에서 인공지능(AI)은 많은 관심을 받고 있습니다. 소셜 미디어를 보면 새로운 AI 스타트업, 프롬프트 엔지니어링 도구, 그리고 대형 언어 모델(LLM) 솔루션들이 넘쳐납니다. 그리고 이는 놀라운 일이 아닙니다. 왜냐하면 AI는 마치 마법처럼 느껴지기 때문입니다! 예를 들어, ChatGPT는 정말로 모두를 흥분시켰습니다. 공개된 지 단 2개월 만에 1억 명의 사용자를 확보하며 엄청나게 빠르게 인기를 끌었습니다.
이제 모두가 궁금해합니다: 이 AI 열풍이 나와 내 업무, 그리고 내 제품에 어떤 의미가 있을까? 더 구체적으로, API를 사용하여 디지털 제품과 애플리케이션을 구축하는 최전선에 있는 사람들에게 어떤 영향을 미칠까? 이 글은 API를 사용하여 디지털 도구를 만드는 우리에게 AI 트렌드가 어떤 의미인지 탐구합니다.
API는 AI를 모두에게 접근 가능하게 만듭니다
대기업들은 빠르게 전용 AI 연구소를 설립하고 데이터 과학자들을 고용하여 AI 모델을 개발해 왔습니다. 하지만 대규모 컴퓨팅 자원과 GPU를 갖추지 못한 소규모 기업들은 어떻게 해야 할까요? 그들은 단지 대기업들이 AI 혁명을 활용하는 것을 지켜보기만 해야 할까요? 답은 '아니오'입니다. 많은 AI 애플리케이션, 특히 자연어를 중심으로 한 애플리케이션의 경우, 특별한 AI 연구소가 필요하지 않습니다. 대신, 기존의 공개된 AI 모델인 LLM을 활용할 수 있습니다. 이는 개발자들이 AI 전문가일 필요가 없으며, 단지 API를 능숙하게 다룰 수 있으면 된다는 것을 의미합니다. 프롬프트 엔지니어링, 미세 조정, 임베딩을 통해 이러한 모델들은 특정 요구 사항에 맞게 맞춤화될 수 있습니다.
여기서 마법의 단어는 "API"입니다. API는 그 내용의 복잡성을 캡슐화하여, AI 모델을 모든 개발자들이 접근할 수 있게 합니다. 이는 AI 전문 지식이 없는 개발자들도 이러한 모델들을 애플리케이션에 통합하여 자연어 처리에 능숙한 "스마트" 솔루션을 만들 수 있게 합니다. 결과적으로, API는 모든 규모의 기업 개발자들에게 강력한 AI 모델에 대한 접근을 제공하여 경쟁의 장을 평준화합니다.
현대 애플리케이션을 위한 AI와 API 패턴
API는 제품을 다른 모든 것과 연결하는 데 핵심적인 역할을 합니다. 다양한 소프트웨어 구성 요소를 연결하는 데 탁월합니다. AI에 관해 이야기할 때, 이 연결은 더욱 중요해집니다. 왜냐하면 AI는 유용하기 위해 다양한 데이터 소스와 도구와 함께 작동해야 하기 때문입니다. 현대 애플리케이션은 AI와 API를 모두 활용합니다. AI는 애플리케이션에 "스마트함"을 부여하여 인간의 언어와 의도를 이해할 수 있게 하고, API는 데이터 접근과 시스템 연결을 용이하게 합니다. 이러한 기술들은 단순히 병렬적인 존재가 아니며, 그들의 결합은 시너지 효과를 낼 수 있습니다. 이들의 통합을 위한 세 가지 주요 패턴이 있습니다:
패턴 1: API를 통해 AI 서비스 호출
OpenAI ChatGPT와 같은 AI 모델은 종종 API로 패키징됩니다. 이러한 API를 통해 개발자들은 AI를 트리거하고, 프롬프트를 입력으로 보내어 애플리케이션에 AI를 원활하게 통합할 수 있습니다. 새로운 AI 앱을 구축하기 위해 일반적으로 사용되는 아키텍처는 아래 다이어그램에서 볼 수 있듯이 Vector Embeddings와 Chat Completion과 같은 두 개의 OpenAI API 엔드포인트를 활용합니다:
이 방법은 먼저 OpenAI API를 통해 각 입력 문서(텍스트, 이미지, CSV, PDF 또는 기타 구조화/비구조화 데이터)에 대한 벡터 임베딩을 생성한 다음, 생성된 임베딩을 빠른 검색을 위해 인덱싱하고 벡터 데이터베이스와 같은 저장소에 저장합니다. 그리고 이러한 문서들은 사용자의 질문과 함께 프롬프트로 ChatGPT에 제공됩니다. 이 추가된 맞춤 지식을 통해 ChatGPT는 사용자 질문에 지능적으로 응답할 수 있습니다.
패턴 2: AI 서비스가 API 호출
프롬프트에 대한 AI 모델의 출력은 일반적으로 텍스트 형태입니다. 이러한 "아이디어"를 실행 가능한 결과로 변환하기 위해 AI 서비스는 API를 호출해야 합니다. 이러한 API는 실제 또는 디지털 세계에서 결제를 하거나, 약속을 예약하거나, 메시지를 보내거나, 방 온도를 조절하는 등의 작업을 시작할 수 있습니다. 본질적으로, API는 AI 서비스의 손과 같아서 환경과 상호작용할 수 있게 합니다. 이에 대한 좋은 예는 ChatGPT 커스텀 플러그인입니다. 이 글은 APISIX를 사용하여 API Gateway를 위한 커스텀 플러그인을 구축하는 방법을 설명합니다. APISIX는 API 앞에 위치하여 AI 요청을 의도된 백엔드 API 서비스로 라우팅할 수 있습니다. 우리는 인증, 권한 부여, 속도 제한과 같은 보안 조치를 쉽게 구현하거나 API의 유사한 응답을 캐시할 수 있으며, API 사용, 성능 및 잠재적인 문제에 대한 유용한 통찰력을 수집할 수 있습니다.
패턴 3: AI가 API 연결
몇 년 전, 두 소프트웨어 시스템 또는 API가 통신하도록 만들기 위한 유일한 옵션은 수동 코딩이었습니다. 소프트웨어 엔지니어들은 복잡하고 취약한 코드 시퀀스를 작성했습니다. 이 작업은 개발자만을 위한 것이었으며, 모든 수정은 더 많은 코딩을 의미했고, 이는 서로 연결된 코드의 복잡한 웹을 초래했습니다.
생성형 AI의 등장으로, 통합 플랫폼 서비스(iPaaS)와 상호작용하는 것은 채팅에서 요청을 하는 것만큼 간단해졌습니다. 한 플랫폼의 데이터를 다른 플랫폼과 동기화하고 싶다면, 기술적인 세부 사항을 이해할 필요가 없습니다. 단지 요구 사항을 명시하면 됩니다. 예를 들어, "Marketo에서 Salesforce로 고객 리드 점수를 동기화하세요."라고 말하거나, AI에게 한 API에서 다른 API로 데이터를 이동하도록 요청할 수 있습니다. 그러면 AI는 프로세스를 처리하고, 호환성을 테스트하며, 문제를 자율적으로 수정합니다. 통합에 사용되는 API는 항상 변화하고 있으며, 이는 때때로 문제를 일으킬 수 있습니다. AI는 데이터 통합의 상태를 모니터링하고 오류를 수정하거나, API 요청 또는 응답의 항목이 주의가 필요할 경우 자연어로 알림을 보낼 수 있습니다.
API 사용 보호
AI가 실제 또는 디지털 세계에서 작업을 시작하는 API를 호출할 수 있는 능력을 갖추고 있기 때문에, 보호 장치를 구현하는 것이 중요합니다. 이 보호는 이상적으로 API 관리 시스템 수준에서 구현되어야 하며, AI의 책임감 있고 안전한 사용을 보장하기 위해 필요합니다. 이 글은 API Gateway가 ChatGPT 플러그인 개발자들에게 API 엔드포인트를 노출, 보호, 관리, 모니터링하는 데 어떻게 유용한지 탐구합니다.
결론
API는 AI 기반 소프트웨어 개발을 위한 완벽한 빌딩 블록을 제공합니다. API와 AI 기술의 결합은 강력한 애플리케이션 개발에 필수적입니다. 세 가지 패턴—API를 통해 AI 기능을 통합하는 애플리케이션과 AI 서비스가 작업을 위해 API를 호출하는 것—은 애플리케이션 개발에서 AI를 활용하기 위한 로드맵을 제공합니다. AI 환경이 계속 진화함에 따라, API와 그 통합 전략에 대한 초점은 더욱 중요해질 것입니다.
관련 자료
API Gateway For ChatGPT Plugins Building a ChatGPT custom plugin for API Gateway