자체 API와 함께 사용자 지정 GPT 액션 구축 - 단계별 가이드
목차
- 소개
- API 세팅
- Fast API 개발 환경 설정
- API 엔드포인트 설정
- API 테스트
- GPT 액션 빌더
- API와 GPT 통합
- 보안 및 인증 설정
- 앱 개발 및 테스트
- 결론
소개
안녕하세요, 여러분! 저는 여러분들에게 자체 API를 구축하여 사용자 지정 GPT 동작이 가능한 방법에 대한 정보 부족에 대해 알아보았습니다.
오늘은 어떻게 직접 빠르고 쉽게 API 응용 프로그램을 구축하고 GPT가 정보를 전송 및 수신하는 방법을 보여드릴 건데요.
또한 이 기초적인 지식을 배운 뒤에는 원하는 어떤 것이든 적용할 수 있게 될 수 있어요. 날씨 데이터를 가져오는 다른 API에 연결하거나 다른 인공지능에 연결하려는 경우에도 원하는 대로 적용할 수 있답니다. 그러니 지금 바로 시작해볼까요?
API 세팅
먼저, GPT 액션 빌더라고 하는 내가 작성한 커스텀 GPT 중 하나를 활용할 겁니다. 이 GPT 액션 빌더에는 예시 Fast API 애플리케이션이 추가되어 있으며, 이를 사용하여 사용자 정의 GPT 동작을 만들게 됩니다. 먼저, 오른쪽 상단의 버튼을 클릭하여 이 애플리케이션을 추가합니다. 그런 다음, 여기에서 Fast API 를 사용하게 되는데, 이유는 바로 다음에 보이는 GPT 커스텀 설정 화면 때문입니다. 액션 창으로 이동한 적이 있다면, OpenAPI 스키마를 제공해야 한다는 것을 알게 됐을 겁니다. 이 OpenAPI 스키마를 수동으로 작성하려고 하지 마십시오. 자동으로 모두 생성하기 위해 Fast API 및 팬덱트릭을 사용할 겁니다. 테스트를 위해 필요한 라이브러리를 설치하려면 파이썬 가상 환경에 새로운 가상 환경을 설정하고 필요한 라이브러리를 설치해야 합니다. Fast API, Uvicorn, Pedantic 및 Requests가 필요한 라이브러리입니다. 라이브러리 설치가 끝나면 새 폴더를 만들고 app.py 파일을 만들어야 합니다. 그리고 GPT 액션 빌더에서 코드를 복사하여 붙여넣으면 됩니다. 이 코드에서 주의해야 할 몇 가지 중요한 사항이 있습니다. 첫 번째는 맨 위의 URL입니다. 이 URL을 올바르게 설정해야 GPT가 우리의 API가 어디에 있는지 알 수 있기 때문입니다. 다음으로 중요한 것은 팬테릭 클래스와 설명입니다. 이것이 약간의 비밀 소스라고 말씀드리고 싶습니다. 이것은 챗 GPT에게 올바른 입력과 출력이 어떻게 이루어져야 하는지 알려줍니다. 특히 챗 GPT는 이 설명을 심각하게 받아들이며, 실제로 GPT에 제공하는 지시사항보다 더 중요하게 여깁니다. 따라서 GPT가 이해할 수 있도록 이 설명을 정확하고 간결하게 만들어야 합니다. 각 API 엔드포인트마다 독스트링이 있으며, 열린 AI에서는 독스트링을 300자 이하로 제한하므로 독스트링에 대한 오류가 발생하면 애플리케이션에서 수정해야 할 사항을 알 수 있습니다. 이제 모든 것이 준비되었으니 터미널에서 uvicorn으로 애플리케이션을 실행하면 됩니다. 이제 액션 창으로 돌아가 액션을 테스트해볼 때 토큰 메모리라는 한정된 양의 기억이 있다는 것을 명심해야 합니다. 필요하지 않은 HTML 태그와 같은 모든 불필요한 데이터를 사용하지 않고 토큰을 낭비하지 않아야 합니다. fetch HTML
엔드포인트에서 HTML 태그와 불필요한 공백을 필터링하기 위해 약간의 보너스 내용을 소개해 드리겠습니다. 이번에도 동일한 커스텀 GPT 액션 빌더를 사용하여 HTML 태그와 불필요한 공백을 필터링하도록 요청하면 됩니다. 코드 출력에서 새로운 라이브러리를 추가해야 하므로 이를 가상 환경에 추가해주어야 합니다. 다음으로 코드를 복사해서 붙여넣으면 됩니다. 이 작업은 개발 단계에서 매우 편리하기 때문에 자동으로 서버를 다시로드합니다. 개발 중에 챗 GPT에게 빌드를 요청하고 웹 앱에서 결과를 확인한 후, Postman을 사용하여 테스트합니다. 다음과 같이 몇 가지 추가적인 작업을 거쳐 개발을 계속 진행하고 향상시킬 수 있습니다. 이때 가끔 저장할 때 오류가 나는 경우가 있는데요. 그럴 땐 하단에 중복된 액션으로 인한 버그가 발생할 수도 있으며, 이 문제를 해결하려면 하나를 삭제해야 합니다. 이렇게 하면 모든 액션이 삭제되지만 문제가 해결되었을 때는 OpenAPI JSON을 다시 제출하고 개인정보 URL을 입력하면 저장할 수 있습니다. 이 모든 과정을 거치면 GPT와 연결할 최종 URL로 테스트를 진행할 준비가 완료됩니다. 텍스트창에 가져와 분석하려는 URL을 입력하면 됩니다. 여기까지 진행되면 작업을 완료한 것이므로 이제 애플리케이션을 실행하고 Chat GPT가 API와 통신하도록 할 수 있습니다. Chat GPT에서 제대로 된 결과를 얻으면 성공한 것입니다. 이제 여러분들은 이것을 기반으로 여러분 자신만의 흥미로운 애플리케이션을 개발할 수 있을 겁니다. 개발에 도움이 될 수 있는 커스텀 GPT 액션 빌더와 같은 커스텀 GPT 몇 가지를 사용해보는 것도 좋을 거 같습니다. 이런 종류의 비스무레한 스크래핑 적용은 대개의 웹사이트에서 권장하지 않습니다. API로 우회할 수 있는 많은 웹사이트가 있으며, API를 사용하는 것이 좋습니다. 그러므로 이 예시를 그대로 사용해 서비스에 맞게 약간의 수정이 반드시 필요합니다. JWT 토큰 기반 인증과 같은 API 키와 같은 형태의 무언가로 인증 절차를 만들게 될 것입니다. 본 예시는 가능한 가장 간단한 형태로 제공되므로 보안을 위해서라면 이를 적용해주시기 바랍니다. SSL 및 TLS 지원을 위해 Apache와 같은 것을 사용하여 앞단에서 이 프로세스를 관리해야 할 필요도 있습니다. 이는 GPT가 암호화되지 않은 포트를 통해 통신하지 않기 때문입니다. 그리고 보안을 위해 개인정보 URL을 설정해야 할까요. 이 예시는 Docker 컨테이너나 Heroku와 같은 서비스를 사용하는 경우와 관련이 없을 것입니다. 직접 Linux 서버에 호스팅하는 경우이 예시에 해당할 수 있는데요. 이 경우에는 개발 환경을 개시를 위해 시스템 DB 서비스와 같은 것을 만들어야 할 수도 있습니다. 지금은 터미널에서 계속해서 실행하고 있는 것이니, GPT가 연결할 URL을 애플리케이션의 URL로 업데이트해주어야 합니다. 이제 앱을 실행하고 Chat GPT에서 인터넷을 통해 앱에 트래픽을 보내도록 할 준비가 되었습니다. 이 단계에서는 Postman을 사용하여 최종 URL로 한 번 더 테스트하는 것이 좋습니다. 이제 우리는 최종적인 테스트를 마무리하였고 Chat GPT와 API 엔드포인트 간의 요청도 확인할 수 있습니다.
API-세팅
안녕하세요. 모두에게 헌신적인 GPT 빌더입니다. API 설정에 관한 정보가 부족하다는 것을 알 수 있었는데, 다른 말로 직접 GPT 액션과 함께 작동하는 API를 설정하는 방법에 대한 정보가 부족하다는 것을 느꼈습니다. 이제부터 어떻게 직접 빠르고 재미있게 GPT와 정보를 주고받는 API 응용 프로그램을 만드는지 보여드리겠습니다. 이제부터 단계별로 진행하여 곧바로 시작해봅시다! 먼저, 나는 'GPT Action Builder' 라고 불리는 내가 작성한 커스텀 GPT 중 하나를 사용할 것입니다. 이 내용 빌더에는 사용자 정의 GPT 작업을 위한 빠른 API 애플리케이션이 포함되어 있으며, 이를 사용하여 사용자 정의 GPT 작업을 수행할 수 있습니다. 당신은 오른쪽 상단의 버튼을 클릭하여 이 내용 빌더를 실행할 수 있습니다. 그런 다음에서부터 'Fast API'를 활용할 것입니다. 이렇게 사용하는 이유는 바로 다음에 나타나는 GPT 사용자 정의 화면의 특징 때문입니다. 마지막에는 어떤 목적과 상관없이 'Fast API' 와 '판틱'이 자동으로 모두 생성하기 때문에 자동으로 코드를 생성해주는 것이 훨씬 편리합니다. 이 설정을 테스트하기 위해 가상 환경을 만들어야 합니다. 설치할 패키지는 다음과 같습니다: fast API, Uvicorn, 팬틱 그리고 requests. 필요한 패키지를 모두 설치한 후 새 폴더를 생성하고 app.py
라는 파일을 만들어 줍니다. 그런 다음 '내용빌더 GPT'에서 제공하는 코드를 붙여넣기 합니다. 이 코드에서 몇 가지 중요한 사항에 유의해야만 합니다. 앞의 URL을 설정할 때 정확히 서버 엔드포인트 URL로 설정해야 합니다. 그렇지 않으면 GPT에서 API가 어디있는지 알 수 없습니다. 또 다른 중요한 사항은 팬틱 클래스와 그에 대한 설명입니다. 이것이 비밀 소스입니다. 이것을 사용하면 챗 GPT가 올바른 입력과 출력의 형태를 파악할 수 있습니다. 사실 '챗 GPT'는 지침말고도 이 설명을 매우 심각하게 받아들입니다. 이 설명이 지침보다 중요합니다. 따라서 GPT가 이해할 수 있는 방식으로 정확하고 간결하게 작성해야 합니다. 각 API 엔드포인트에 있는 독스트링을 강조하는 공지를 써주신다면 OpenAI는 해당 애플리케이션을 300자 이하로 제한하게 됩니다. 그리고 오류가 있다면 애플리케이션에서 수정해야 할 사항을 직접 파악할 수 있습니다. 이 모든 것이 준비되었으므로 터미널에서 Uvicorn을 사용하여 애플리케이션을 시동시키면 됩니다. 이제 특정 테스트를 위해 챗 GPT에서 빌드를 요청하고 웹 앱에서 결과를 확인합니다. Postman을 사용해서도 테스트를 수행할 수 있습니다. 몇 가지 추가 작업이 필요한 경우 개발을 계속 진행하고 향상시킬 수 있습니다. 몇 가지 측면에서 만족스러운 결과를 얻을 때까지 반복 및 수정 작업을 하기 위해 Chat GPT에 추가적인 작업을 요청하실 수 있습니다. 마지막으로, API가 작동하는지 Postman을 사용해 테스트할 수 있습니다. 완료되면 제대로된 기능을 하는 애플리케이션이 완성된 것입니다. 이 예시는 기본적인 것이기 때문에 SSL 및 TLS를 지원하기 위해 Apache와 같은 것을 사용하여 보안을 유지하는 것이 좋습니다. 안전을 위한 몇 가지 추가 사항이 더 있습니다. 예를 들어 개인정보를 요구하는 경우에도 애플리케이션에서 인증 절차를 설정할 수 있습니다. 이 예시는 복잡하지 않은 형태로 설명하기 위해 가장 간단한 예시만 명시했습니다. 네이버에서 그대로 제공되는 것을 웹을 통해 브라우징할 수 있도록 구성하는 것은 다소 위험할 수 있습니다. 오픈AI 정책을 위반할 수 있습니다. 또한 GPT에 맞춰 입력 값을 제한할 수 있는 작은 값을 하드코딩하는 것이 좋습니다. Instructions에 그런식으로 제공하지 않는다면 대화 메시지 하나나 두 개만으로도 전체 서버를 접근하는 것이 매우 쉽습니다. 이 예시를 따라하기 전에 앞서 말한 대로 웹 스크래핑을 할 때 이 방법을 그대로 사용하지 않도록 부탁드리겠습니다. 이렇게 짧은 시간 안에 보안에 영향을 줄 수도 있는 여러 요소가 있습니다. 마지막으로 가능한 빨리 탑재 프로세스를 구성해주어야 할 것입니다.