OpenAI의 대규모 언어 모델 ChatGPT의 API를 활용해 더 다양하게 활용해보고자 한다. ChatGPT의 API는 어떻게 사용할 수 있을까?
1. API키 발급 / 엔드포인트 설정하기
OpenAI 웹사이트 로그인 및 API 발급
OpenAI의 홈페이지(링크)에 접속해 로그인하자.
로그인하고 나면 세 가지 항목을 선택할 수 있는데, 제일 오른쪽에 있는 'API'버튼을 누르면 된다.
이후 오른쪽 상단에 내 계정을 누르면, 퀵메뉴가 나온다. 그 중 'View API keys' 메뉴를 선택한다.
이후 'Create new secret key'를 선택해 새로운 API key를 만들거나, 기존 API key를 살펴볼 수 있다.
API 코드를 발급 받았다면, 아래 코드를 이용해 chat gpt api를 활용해볼 수 있다.
import requests
# 2. HTTP request 구성
API_KEY = 'your_api_key'
API_ENDPOINT = 'https://api.openai.com/v1/chat/completions'
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {API_KEY}'
}
# 3. 대화 메시지 구성
data = {
'messages': [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Tell me a joke.'}
]
}
# 4. API 호출 및 답변처리
response = requests.post(API_ENDPOINT, json=data, headers=headers)
response_data = response.json()
# 5. 대화 추출 및 유지
model_response = response_data['choices'][0]['message']['content']
print("모델 응답:", model_response)
코드에 대한 자세한 설명은 아래에!
2. HTTP request 구성
- API를 호출하기 위해 HTTP POST request를 사용한다.
- request 코드에는 Json 형식의 데이터 포함된다.
- request header에는 'Content-Type'(데이터 형식) / 'Authorization'(인증방법 / API키) 정보가 포함된다.
3. 대화 메시지 구성
- 대화 메시지의 data는 dict형태로 구성된다.
- message 자체는 list형태로 구성된다.
- 각 list는 'role'과 'content'라는 key를 가지고 있다.
- 'role'은 'system', 'user', 'assistant'등의 역할을 나타낸다.
- 'content'는 해당 역할의 메시지 내용이 들어간다.
- 과거 메시지도 'messages' list에 포함된다. (대화의 흐름 유지 위해)
4. API 호출 및 응답 처리
- 구성한 request를 API Endpoint로 전송한다.
- API 응답은 Json 형식으로 받는다.
5. 대화 추출 및 유지
- 'choices' list에서 chatGPT 모델의 이전 응답 메시지를 추출할 수 있다.
- 이전 메시지 및 모델의 답변을 기반으로 계속 메시지를 생성할 수 있고, 이를 API에 전달해 대화를 유지할 수 있다.
+) Chatgpt API의 최초 무료로 활용할 수 있는 크레딧은 18달러라고 한다. 마음껏 사용할 수는 없지만, 이것저것 실험하기엔 충분하다. 먼저 활용해본 뒤 유료 전환에 대해 고민해보자.
이런 방법으로 ChatGPT API를 활용할 수 있다. 이 API를 통해 활용할 수 있는 점들이 무궁무진하다고 생각한다. 시간날 때 API의 구조에 대해서 좀 더 공부해보고 새로운 프로그램을 한 번 만들어 볼 예정이다. 알면 알수록 신기하다.
'Minding's Programming > Knowledge' 카테고리의 다른 글
[Python] OpenCV를 이용해 자동 카톡 메시지 보내기 (0) | 2023.08.19 |
---|---|
[LLAMA2] LLAMA2 Custom Data로 학습시켜보기 (무료 Colab 사용) (6) | 2023.08.14 |
OpenAI 공식 ChatGPT 앱 출시, 사용방법, 기능, 유료버전(GPT4) (0) | 2023.07.31 |
[NYPC] 청소년들의 프로그래밍 축제, NYPC 알아보기 (0) | 2023.07.24 |
[Windows] WinMD5Free 설치, md5sum 설치, 확인 (0) | 2023.07.21 |