유용한 TIP

챗GPT API를 이용한 AI인터페이스 구축

정데만 2023. 7. 12. 23:13
728x90
 

대화형AI 프롬프트 활용

생성형 AI는 프롬프트(명령)를 기반으로 결과를 생성하는 방식으로 동작한다. 그래서 챗GPT와 Bard같은 대화형 AI는 프롬프트에 해당하는 질문을 입력받으면, 결과에 해당하는 답변을 생성하면서 대화를 이어나간다.
 
그리고 맥락을 이해하기 위해 입력된 프롬프트를 일시적으로 유지하면서 각종 인간처럼 인지적 과정(요약, 분류, 해석 등)을 수행하는데, GPT4의 경우에는 프롬프트 영역에만 약 2만 5천개의 단어(50페이지 분량)를 저장할 수 있는 것으로 알려져 있다.
 
현재 출시된 대화형 AI기반 앱들은 이러한 프롬프트 영역에 데이터를 입력해두고 동작시키기 위한 프롬프트를 사전에 입력해두어 AI를 실행시키며, 이를 활용하면 대화형 AI가 텍스트를 해석하고 결과를 처리하는 인터페이스역할을 수행할 수 있다.
 

챗GPT API이용 방법

현재 챗GPT API는 GPT4 단문을 기준으로 1000토큰(영문 750자)당 입력 39원, 출력 78원을 과금한다.

 

https://openai.com/pricing

 

다만, 테스트를 목적으로 90일간 900만 토큰을 무료로 제공한다.(구글 계정을 여러 개 사용해도 같은 핸드폰 번호를 이용할 경우 최초 계정만 무료로 사용할 수 있다.)

 

https://platform.openai.com/

 

 

오픈AI의 API사이트에 들어간 후 우측 상단에서 View API keys는 눌러보자.

 

https://platform.openai.com/

 

 

Create new secret key를 누르면 Key를 발급할 수 있다. 단, 팝업창에 뜬 API를 복사해야하며, 창을 닫은 후에는 다시 확인할 수 없다.

 

https://platform.openai.com/account/api-keys

 

 

 

API를 사용하는 방법은 아래와 같이 파이썬을 기준으로 5줄만 입력하면 된다.(구글 코랩에서는 라이브러리 설치를 위해 첫 줄에 !pip install openai 추가)

 

<챗GPT API 사용법>

import openai
openai.api_key = "API키입력"
question = "네가 할 수 있는 일을 3줄로 요약해줘"
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": question}])
print(completion['choices'][0]['message']['content'])

프롬프트 활용 텍스트 처리 시스템

이제 이 코드를 조금씩 변형해서 텍스트 데이터 처리 시스템을 만들어보자. 참고로 위에 예시로 입력한 질문에는 아래와 같이 대답하였다.

 

1. 전문적인 글쓰기와 편집 기술로 다양한 주제에 대한 콘텐츠 작성 가능합니다.
2. 정확하고 빠른 번역 능력으로 한국어와 영어 간의 텍스트 변역이 가능합니다.
3. 오류를 찾고 수정하며 문서의 논리적 구조와 일관성을 개선하는 문서 편집 및 교정 작업이 가능합니다.

 

질문에 맞는 역할을 수행하는지 위의 코드를 활용해서 테스트해보자. 프롬프트에서 []에 있는 문장은 실제로 앱이나 시스템 등에서 자동으로 입력되는 것을 가정하였다.

 

1) 고객센터 문의 자동 분류기

 

■ Prompt : []안에 들어있는 고객문의 글이 이벤트 문의/제품 문의/고객 정보 문의 중 어떤 건지 선택해서 단어로만 답해줘

■ 문의 글 예시

1) 경품 당첨안내 받았는데 언제 오는지 알려주세요 → 이벤트

2) 이딴 걸 쓰라고 만들었냐? 환불도 안되고 어쩌라는거야? → 제품

3) 탈퇴하는 방법 알려주세요 → 고객정보

 

2) 스팸 차단기

 

■ Prompt : []안에 들어있는 문자메시지가 스팸이면 1, 아니면 0으로만 표시해줘

■ 스팸 예시

1) VVIP고객님 50만원 충전해드렸습니다. ★Ocean.oo.to로 바로 접속 가능 → 1

2) DS할인마트 오늘까지 세일! 한우 1+꽃등심 7000 **3만원부터 신속배달 → 1

3) 엄마 들어가면서 꽃등심 사갈까? → 0

 

3) 영어 뉴스 공부

 

■ Prompt : []안의 영어 문장을 한글로 번역하고, 어려운 단어를 추려서 사전적 의미를 알려줘

■ 영어뉴스 예시

영어뉴스 입력 :

The biggest concern for coral isn’t just the current sea surface temperatures in the Florida Keys, even though they are the hottest on record. The daily average surface temperature off the Keys on Monday was just over 90 degrees Fahrenheit, or 32.4 Celsius, according to the National Oceanic and Atmospheric Administration.

답변 : 

코럴리프의 가장 큰 우려는 현재 플로리다 키스 지역의 해면 온도가 역대 최고인 것이 아닙니다. 월요일 기준 키스 지역 해안의 일일 평균 해면 온도는 화씨 90도, 혹은 섭씨 32.4도 이상으로, 미국 국립해양대기청(National Oceanic and Atmospheric Administration)이 발표했습니다.

  • concern: 우려
  • coral: 코럴리프
  • sea surface temperature: 해면 온도
  • Florida Keys: 플로리다 키스 지역
  • hottest on record: 역대 최고
  • daily average surface temperature: 일일 평균 해면 온도
  • National Oceanic and Atmospheric Administration: 미국 국립해양대기청

 

위의 예시들은 간단한 프롬프트에 대한 답변 정도만 처리했지만, 실제 시스템에 연동한다면 고객게시판 분류기, 스팸 삭제, 영어 공부 앱 등을 만들 수 있다.

 

GPT가 기존 시스템의 중간에서 명령을 분류하고 수행하는 역할을 하게 되는 셈이다.

 


728x90