[ChatGPT] ChatGPT API 사용하기

IBLOG·2023년 4월 7일
3

NLP

목록 보기
1/2
post-thumbnail

ChatGPT API란?

ChatGPT API 는 2023년 3월에 출시된 OpenAI의 새로운 서비스이다.
ChatGPT 애플리케이션에 직접 접속해서 사용할 수 있지만, API를 사용하면 챗GPT를 앱이나 제품에 쉽게 적용할 수 있다.
다만, API 사용은 유료이며, 대화에 사용된 토큰(Tokens)의 크기(1,000토큰 당 $0.002)에 따라 과금된다.


OpenAI API 발급받기

OpenAI 사이트에 들어가면 API key를 발급받을 수 있다.

Create new secret key를 눌러 사용할 수 있는 API key를 발급받을 수 있다.

위에서 발급받은 key를 통해 api와 통신을 하고 사용한 만큼 요금이 부과가 되는 방식이다.


OpenAI API 사용하기

https://platform.openai.com/docs/guides/chat

위의 URL에서 chatgpt api를 사용할 수 있는 가이드를 볼 수 있다.

OpenAI API를 사용할 수 있는 패키지 설치

pip install openai

위의 명령어로 openai와 관련된 패키지를 설치할 수 있다.
해당 패키지로 api를 연결하여 ChatGPT를 이용할 수 있게 된다.


API 연결하기

import openai

# 발급받은 API 키 설정
OPENAI_API_KEY = "오픈AI에서 발급받은 인증키"

# openai API 키 인증
openai.api_key = OPENAI_API_KEY

OpenAI에서 발급받은 API 키 값을 ‘OPENAI_API_KEY’ 변수에 할당해 주고, ‘openai.api_key’에 이 값을 할당해 준다.

ChatGPT API 사용하기

# 모델 - GPT 3.5 Turbo 선택
model = "gpt-3.5-turbo"

# 질문 작성하기
query = "텍스트를 이미지로 그려주는 모델에 대해 알려줘."

# 메시지 설정하기
messages = [{
    "role": "system",
    "content": "You are a helpful assistant."
}, {
    "role": "user",
    "content": query
}]
  • model : ‘gpt-3.5-turbo’ 모델로 설정해준다. 이 모델은 ChatGPT 애플리케이션에서 사용되는 것과 같은 언어 모델이다.
  • query : 질문을 입력한다.
  • messages : 대화에 참여하는 여러 역할(‘system(시스템)’, ‘assistant(도우미)’, ‘user(사용자)’)과 메시지 내용을 설정할 수 있다. 일반적으로 대화는 시스템 메시지가 먼저 오고 그 다음에 사용자 및 어시스턴트 메시지가 번갈아 가며 오는 형식으로 구성된다.
    - 시스템 메시지 : ‘You are a helpful assistant.’와 같은 메시지로 챗봇에게 일종의 역할을 부여
    - 사용자 메시지 : 도우미에게 직접 전달하는 내용
    - 도우미 메시지 : 이전 응답을 저장하는 데 도움이 되며, 개발자가 원하는 동작의 예를 제공하기 위해 사용

# ChatGPT API 호출하기
response = openai.ChatCompletion.create(model=model, messages=messages)
answer = response['choices'][0]['message']['content']
answer

openai.ChatCompletion.create()에 위에서 정의한 파라미터를 입력하고 ‘response’에 값을 할당한다.
response[‘choices’][0][‘message’][‘content’]를 호출하면 응답 메시지를 확인할 수 있다.

결과
'텍스트를 이미지로 그려주는 모델은 텍스트를 입력값으로 받아서 해당 텍스트를 시각적으로 나타내는 이미지를 출력하는 딥러닝 모델입니다. 이 모델은 주로 자연어 처리와 컴퓨터 비전을 결합한 고급 기술 중 하나입니다.\n\n
이 모델의 구현 방법 중 하나는 조건부 생성 모델(Conditional Generative Model)입니다. 조건부 생성 모델은 입력값으로 텍스트를 받고, 해당 텍스트가 나타내는 이미지를 생성하는 과정에서 텍스트 정보를 활용합니다. 이 모델은 기계 번역, 이미지 캡셔닝, 블로그 게시글 등의 다양한 분야에서 사용될 수 있습니다.\n\n
또 다른 방법은 딥러닝 모델을 이용하여 자동으로 스타일링된 텍스트 이미지를 만드는 것입니다. 이 모델은 입력된 텍스트에 적합한 글씨체, 색상, 배경 등을 설정하여 시각적으로 더욱 독창적인 이미지를 만들어낼 수 있습니다.\n\n
이 모델의 활용 분야는 광고, 마케팅, 디자인, 게임 개발 등에서 크게 적용될 수 있습니다.'


참고 - model의 종류

GPT-3.5의 모델은 다음과 같으며, 사용하고자 하는 모델을 선택해서 불러오면 된다.


참고 자료

https://wooiljeong.github.io/python/chatgpt-api/
https://lsjsj92.tistory.com/655
https://platform.openai.com/docs/models

profile
✢ 천천히 하나씩 기록해보자!

2개의 댓글

comment-user-thumbnail
2023년 6월 16일

잘 보고갑니다! 감사합니다.

답글 달기
comment-user-thumbnail
2일 전

매우 아름다우십니다

답글 달기