일상/IT

ChatGPT 플러그인용 API 게이트웨이

얇은생각 2023. 7. 15. 07:30
반응형

ChatGPT 플러그인 개발자가 API 끝점을 노출, 보호, 관리 및 모니터링하는 데 API 게이트웨이가 어떤 도움이 되는지 알아보십시오.

OpenAI는 최근 ChatGPT 내부에서 플러그인을 허용하는 새로운 버전의 ChatGPT를 출시했습니다. 이러한 플러그인은 챗봇에 직접 추가되어 API를 통해 타사 파트너의 광범위한 지식과 정보에 액세스할 수 있습니다. ChatGPT 플러그인은 기능을 확장하고 연구 여행 비용과 같은 최신 정보에 액세스하고 할인 정보를 확인하거나 항공편을 예약하고 음식을 주문하는 데 도움을 줄 수 있습니다. 또한 ChatGPT API 데이터를 지능적으로 호출할 수 있도록 자체 플러그인을 구축할 수도 있습니다.

ChatGPT 사용자 지정 플러그인을 통해 데이터에 액세스하려면 ChatGTP에서 새 API를 구축하거나 API를 쿼리하고 응답을 수신하는 데 사용할 수 있는 기존 API를 사용해야 합니다. 그런 다음 API 데이터와 자연어 기능을 결합하여 사용자 친화적인 답변을 생성합니다. 이 경우 API 게이트웨이는 보안, 사용성 및 효율성을 향상시킬 수 있습니다. 이 게시물에서는 ChatGPT 플러그인 개발자가 API 끝점을 노출, 보호, 관리 및 모니터링하는 데 API 게이트웨이가 어떤 이점이 있는지 살펴봅니다.

OpenAI에 따르면, "플러그인 개발자는 ChatGPT가 개발자가 정의한 API와 상호 작용할 수 있도록 하는 OpenAPI 표준을 사용하여 API에 대한 사양을 작성합니다."

 

 

학습 목표

ChatGPT 플러그인 API를 구축하는 데 있어 API 게이트웨이의 역할을 이해합니다.

플러그인 API에 대한 다른 횡단 관심사를 게시, 보호, 관찰 및 적용하는 방법

Apache APIIX(오픈 소스 API 게이트웨이) ChatGPT 플러그인과 함께 사용하는 방법

 

 

API 게이트웨이의 역할

API 게이트웨이는 통신 API에 대한 표준화된 인터페이스를 제공하여 ChatGPT 플러그인과 API 간의 브리지 역할을 합니다. API의 액세스, 보안 및 성능을 관리하고 기타 교차 기능을 제공합니다. 해당 도시의 시장에서 할인 정보를 제공하는 ChatGPT 플러그인을 구축하려고 한다고 가정합니다. 새로운 제품, 가장 가까운 시장 및 최신 거래를 표시하기 위해 다양한 API를 사용할 수 있습니다. 이 경우 API 게이트웨이는 API와 플러그인 사이의 추가 계층이 됩니다.

 

 

ChatGPT 플러그인용 API 게이트웨이

예를 들어 API Gateway OpenAI 이외의 자연어 처리 API 또는 다른 공급자의 변환 API와 같은 다른 API ChatGPT를 결합하여 클라이언트가 사용자 정의된 URI 경로 및 업스트림 서비스(여러 백엔드 API 서버)를 통해 단일 플러그인으로 여러 서비스에 액세스할 수 있도록 합니다, 요청을 적절한 API로 라우팅하고 응답을 ChatGPT로 반환합니다.

ChatGPT 플러그인용 API 게이트웨이

 

ChatGPT에서 API 게이트웨이의 기본 역할 중 하나는 인증 및 권한 부여를 처리하는 것입니다. 여기에는 플러그인 사용자의 ID를 확인하고 플러그인에서 API에 액세스하는 데 필요한 사용 권한이 있는지 여부를 확인하는 작업이 포함됩니다. OpenAI OAuth, API 키 또는 사용자 지정 인증 프로토콜과 같은 다양한 인증 메커니즘을 사용할 수 있으며 사용자 자격 증명을 API 게이트웨이에 전달합니다. 그런 다음 API Gateway는 사용자 인증 여부를 확인하기 위해 즉시 인증 확인을 수행할 수 있습니다. API에 대해 이 검증 프로세스에 대한 구현 코드를 작성할 필요가 없습니다.

기본적으로 API 게이트웨이는 잠재적인 해킹 시도로부터 보호하기 위한 보안 조치 역할을 합니다. API 게이트웨이는 보낸 사람이 적절한 권한을 가지고 있거나 요청에 특정 헤더를 포함하지 않는 한 특정 경로에 대한 무단 POST 요청 차단과 같은 특정 유형의 요청을 제한합니다.

한 회사에 고객이 ChatGPT 플러그인을 통해 주문할 수 있는 전자 상거래 API가 있다고 가정해 보겠습니다. API 게이트웨이는 요청이 권한 있는 액세스 토큰 역할을 하는 요청 헤더에 유효한 API 키를 포함하지 않는 한 "배치 순서" 경로에 대한 POST 요청을 차단하도록 구성됩니다. , 올바른 API 키를 사용하여 인증되고 승인된 요청만 새 주문을 생성할 수 있으며, 무단 요청은 차단되어 가짜 주문을 하거나 시스템을 조작하려는 잠재적인 악의적인 시도로부터 효과적으로 보호됩니다. 아래의 다른 보안 기능 요약을 참조하십시오.

 

 

효율적인 요금 제한

API 게이트웨이의 또 다른 중요한 역할은 속도 제한을 처리하는 것입니다. 이렇게 하면 ChatGPT 플러그인이 성능에 영향을 미치거나 충돌을 일으킬 수 있는 너무 많은 요청으로 API를 초과하지 않습니다. API 게이트웨이는 특정 기간 내에 클라이언트가 수행할 수 있는 요청 수를 제한하고 제한을 초과하는 요청을 차단할 수 있습니다.

 

고성능

성능은 API 게이트웨이가 ChatGPT 플러그인의 성능을 향상시키는 데 도움이 될 수 있는 또 다른 영역입니다. 예를 들어 API 게이트웨이는 캐싱을 구현하여 자주 요청되는 응답을 저장하고 실제 API를 쿼리할 필요 없이 신속하게 반환할 수 있습니다. 또한 API 게이트웨이는 들어오는 요청을 API가 이해할 수 있는 형식(: REST 요청을 GraphQL로 변환)으로 변환하고 응답을 플러그인이 사용할 수 있는 형식으로 변환하는 요청/응답 변환을 처리할 수 있습니다.

 

지속적인 모니터링

OpenAI ChatGPT가 고객이 모델을 교육하거나 개선하기 위해 API를 통해 제출한 데이터를 사용하지 않는다고 명시하더라도, 다른 여러 가지 이유로 관찰 기능을 사용하는 것이 중요합니다. API 게이트웨이는 ChatGPT 플러그인이 사용되는 방식, 공유되는 데이터 유형에 대한 통찰력을 제공하고 플러그인의 요청을 지속적으로 모니터링하여 해결해야 할 문제를 식별할 수 있습니다.

 

ChatGPT 플러그인과 함께 Apache APPIX를 사용하는 방법

API 게이트웨이가 ChatGPT 플러그인을 구축하는 데 중요한 역할을 하는 이유를 이해한 후에는 ChatGPT에서 새 플러그인을 공유하기 전에 Apache APPIX API 게이트웨이를 사용하는 방법에 대한 간단한 단계를 살펴보겠습니다. 시장에는 다른 많은 API 게이트웨이가 있으므로 이 게시물을 통해 필요에 맞는 게이트웨이를 결정할 수 있습니다.

현재 블로그 게시물을 작성할 때 ChatGPT OpenAI에 대한 알파 액세스를 제한하고 있습니다. ChatGPT 플러그인 대기 목록에 등록해야 합니다. 그러나 그들은 개발자와 ChatGPT Plus 사용자의 우선순위만 정하고 이를 더 많은 사람들에게 공개할 것입니다.

Apache APPIX를 개발 환경 또는 원격 서버(클라우드)에 로컬로 설치하고 실행합니다. 로컬에서 실행할 경우, APPIX http://localhost:9080을 통해 액세스할 수 있습니다.

관리 API(http://localhost:9180에서 실행됨) 또는 사용자 친화적인 UI 대시보드를 요청하는 경우 각 API 끝점에 대한 경로 및 업스트림을 구성합니다. 또한 기존 OpenAPI 규격을 가져와 경로 및 업스트림을 자동으로 등록할 수 있습니다.

APIX의 플러그인을 사용하여 일부 API 게이트웨이 기능, 인증, 속도 제한 및 관찰 가능성을 사용하도록 설정할 수 있습니다.

ChatGPT에서 사용할 업데이트된 OpenAPI 규격을 내보냅니다. 문서 YAML/JSON의 결과를 필요한 변경을 합니다. ChatGPT [http://localhost:9080/openapi.dll](http://localhost:9080/openapi.dll)과 같이 /openapi.dll 경로에 파일을 찾을 수 있도록 다른 경로를 통해 APPIX 서버의 어딘가에 이 파일을 배치합니다. 이 사양은 API를 사용하여 답변을 향상시키는 방법을 ChatGPT에 설명하는 프롬프트로 컴파일됩니다. 사용 가능한 각 엔드포인트에 대한 설명을 포함한 자세한 프롬프트를 생각합니다.

매니페스트 파일 정의, 플러그인 실행 및 설명 작성과 같은 다른 단계는 이미 공식 OpenAI 설명서에 잘 나와 있는 것과 거의 같습니다. ChatGPT UI를 통해 플러그인을 연결하고 플러그인을 실행할 때 도메인 주소가 APPIX API 게이트웨이를 가리키는지 확인합니다.

마지막으로 사용자는 ChatGPT UI에서 플러그인을 사용하도록 설정하여 새로운 질문을 합니다. ChatGPT API에서 정보를 가져와야 한다고 결정하면 API 게이트웨이에 요청을 하고 컨텍스트에 추가한 후 응답을 시도합니다.

 

 

ChatGPT 플러그인용 API 보안 요약

ChatGPT 플러그인의 API를 보호하기 위한 API 게이트웨이 제품에 대한 다음 요약을 참조하십시오:

인증 프로토콜: API Gateway를 사용하면 OAuth 2.0 또는 JSON Web Token(JWT)과 같은 강력하고 안전한 인증 프로토콜을 선택하여 API 요청을 인증할 수 있습니다.

이중 인증(2FA): API 인증에 보안 계층을 추가할 수 있는 다양한 ID 공급자와의 통합을 통해 2FA를 구현할 수 있습니다.

보안 토큰 관리: 토큰을 클라이언트 측 응용프로그램이나 클라이언트 측 쿠키 또는 로컬 저장소와 같은 안전하지 않은 위치에 저장하지 않도록 하여 토큰을 안전하게 저장할 수 있습니다.

역할 기반 액세스 제어(RBAC): RBAC를 사용하여 ChatGPT 플러그인 API 내에서 서로 다른 사용자 또는 애플리케이션이 수행할 수 있는 사용 권한과 작업을 제어할 수 있습니다.

TLS(Transport Layer Security): API에는 네트워크를 통해 클라이언트와 서버 간의 통신을 암호화하는 TLS 옵션이 있습니다.

API 속도 제한: API Gateway ChatGPT 플러그인 API의 남용 또는 오용을 방지하기 위한 속도 제한 메커니즘을 제공합니다.

로깅 및 감사: API 게이트웨이를 다른 관찰 플랫폼과 함께 사용하여 API 요청 및 응답을 추적하고 모니터링하는 포괄적인 로깅 및 감사 메커니즘을 수행할 수 있습니다.

 

 

결론

ChatGPT에 플러그인 통합 기능을 도입하는 것은 OpenAI의 업그레이드입니다. 또한 GPT 모델의 사용자 대면 AI 분야에서도 중요한 변화입니다. API Gateway는 보안, 속도 제한 정책, 인증 방법 및 모니터링과 함께 API를 안전하게 노출할 수 있는 통신용 고성능 인터페이스를 제공합니다.

API Gateway가 없으면 ChatGPT를 다른 시스템에 통합하는 것이 훨씬 더 어려우며, 클라이언트는 인증, 속도 제한 및 기타 기능을 직접 관리해야 합니다.

반응형