[9기 ATOZ]Actions 활용해서 GPTs 만들기

Action을 통해 외부 API에 연결해서 GPTs를 2가지 만들어 보았습니다.

우선 간단하게 Action에 대해서 설명을 드리자면,

1) Action은 API를 GPT가 사용할 수 있도록 하는 것

2) 그럼 API란 비개발자라면 생소한 분들도 있으시니 간단하게 개념을 이해한다면 ‘가져다 쓰기’라고 생각하시면 됩니다. API(Application Programming Interface)는 소프트웨어 또는 어플리케이션 간에 정보를 교환하고 상호작용할 수 있도록 해주는 역할을 해주는 것으로 슬랙을 구글 드라이브에 연결하는것도 API를 사용하는것입니다.

3) Action를 사용해야하는 이유: 단순 프롬프팅으로 차별화하기 어려우니 Action을 활용해서 오픈 API나 직접 만든 백엔드와 연결해서 차별화시킬 수 있습니다.

→ 저는 Action 기능을 처음 사용하는거라 테스트용으로 serpapi와 오픈 API Korea 2가지를 활용할때 어떻게 다른지 확인해보고자 했습니다.

#Search Video Buddy: 유튜브 동영상 찾아주는 GPT(serpapi 활용)

https://chat.openai.com/g/g-wVQucwbt1-search-video-buddy

  1. Create에서 프롬프트 입력

    • You’re a GPT that searches Youtube videos based on the user input
      너는 사용자의 입력에 기반해서 Youtube 동영상을 찾아주는 GPT야

    • when you’re searching videos, please use the serpapi action
      serpapi action을 만들거고 검색할 때 serpapi action을 사용해서 검색해줘

  2. serpapi(https://serpapi.com/)에서 Youtube Search API 연결하기

    • serpapi사이트에 로그인하여 Youtube Search API의 cURL(client URL)을 복사해서 GPT에게 이것을 OpenAI schema로 만들어달라고 합니다. OpenAI에서 공식적으로 Actions를 만들어주는 GPT가 있어서 이것을 활용해도 되지만 이건 다음 테스트에서 활용하기로 하고 chatGPT에게 프롬프트를 날렸습니다.

      • Schema는 오픈 API한테 API서버에 요청할 때 이러한 규칙을 가지고 요청을 해야된다라고 규칙을 설명하는 것

      • serpapi에서 Youtube Search API에서 cURL 가져오기. 제 API key값은 안보이도록 스크린샷을 잘랐습니다. ㅎ



    • chatGPT에게 curl을 오픈 AI 스키마로 바꿔달라고 하고, Action의 Schema의 Blank template을 복사해서 넣어줍니다.

      • Action의 Schema의 Blank template 메뉴 찾기



      • 프롬프트: serpapi의 제 키값은 안보이도록 블럭처리한 스크린샷입니다.



    • chatGPT가 만들어준 스키마를 Action에 복사해서 넣어줍니다.

      • 이 때 Configure의 Capabilites에서 Web Browsing과 달리가 체크되어 있는데 API를 활용하니 비활성화하시기 바랍니다.

      • Actoins메뉴에서 Create new action을 클릭한 후



      • Schema에 chatGPT가 만들어준 schema를 넣어줍니다.



      • 에러가 나와서 이것도 chatGPT에게 수정해달라고 합니다.



      • 에러가 안나와서 작동이 잘되는지 Actions메뉴에서 바로 테스트를 해보았습니다. 디버깅하면서 serpapi를 항상 호출할지 여부를 물어서 Always Allow를 클릭하니 정상적으로 작동이 되는것을 확인했습니다.

#날씨 도우미: 날씨 예보 GPT(open-apis-korea 활용)

https://chat.openai.com/g/g-qbMdb0utA-nalssi-doumi

  1. 오픈 API 연결

    1. 깃허브 오픈 API에서 날씨 목차에서 가장 상단에 나오는 7timer라는 API를 가져와보겠습니다.

    • https://github.com/dl0312/open-apis-korea

    • 7timer를 들어가면 문서가 난해해서 뭐라는지… 우선 죽 내려가서 2.2.2 Machine-readable API URL 링크가 나와있어 이것과 API내용을 싹 다 긁어서 이번에는 OpenAI만든 ActionsGPT를 활용해서 스키마를 만들어봅니다.

      • 마우스 오른쪽 버튼을 눌러 View Page Source 하면 html 페이지 자체를 볼 수 있어서 이것을 싹 가져와서 Sublime text같은 코드 에디터에 넣어서 html파일로 저장한 후 챗GPT에게 읽으라고 할거고 이 파일을 Knowledge에도 추가합니다. 챗GPT는 구조화된 데이터를 좀 더 잘 읽으니까요.



  1. 이제 GPTs를 만들어봅니다.

    • 프롬프트

      • Create에서 날씨 예보를 해주는 GPT를 만들고 싶어.

      • 7timerAPI를 활용해서 만들어줘

      • 이 파일은 API 가이드인데 이거 참고하도록 설정해줘. - 깃허브에 있던 7timer API를 html 파일로 저장한것을 업로드해서 chatGPT가 참고하도록 함

  2. ActionsGPT를 활용해서 스키마 작성

    • 영어로 질문하는 것이 결과가 더 잘 나와서 영어로 질문했습니다.

  3. 요청한 데이터 링크를 넣었고 첨부된 파일은 API에 대한 가이드이다. 2.2.2 Machine-readable API를 참고해서 spec of this API라고 명시를 해주고 json 스펙으로 만들어줘.



#9기AiATOZ

6
4개의 답글

👉 이 게시글도 읽어보세요