이번 포스팅에서는 Text-Davinci-003 API 사용법으로 우선 Text-Davinci-003 API Key 생성 방법과 파라미터 설정 방법에 대해 정리해보았습니다.
참고로 ChatGPT API 사용방법은 아래와 같은 2개의 포스팅으로 나눠서 정리해보았습니다.
(1) Text-Davinci-003 특징 및 OpenAI 계정 만들기
(2) Text-Dacinci-003 API Key 생성 방법 및 파라미터 설명 (이번 포스팅)
참고로 앞선 포스팅에서 설명한 바와 같이 실제로 ChatGPT와 Text-Davinci-003은 같은 알고리즘을 기반으로 하고 있지만 다른 모델이긴 합니다.
가볍게 ChatGPT와 Text-Davinci-003의 공통점과 차이점을 정리하면 아래와 같습니다.
공통점:
- 대규모 언어 모델: ChatGPT와 Text-Davinci-003는 모두 대규모 언어 모델로, 수십억 혹은 수백억 개의 파라미터를 가지고 있음
- 자연어 처리 분야에서 높은 성능: 이들은 다양한 자연어 처리 작업에서 높은 성능을 보이며, 대화 생성, 기계 번역, 질의응답, 요약, 문장 완성 등의 작업에서 우수한 성능을 보여줌
차이점:
- 모델 크기: ChatGPT의 경우, 최대 1.5B 파라미터를 가지고 있으며, Text-Davinci-003는 175B 파라미터를 가지고 있음. 따라서, Text-Davinci-003는 ChatGPT보다 더 큰 모델임.
- 대화 생성 능력: ChatGPT는 대화 생성 능력에서 뛰어나며, 대화형 시스템에서 보다 자연스러운 대화를 생성할 수 있습니다. 반면, Text-Davinci-003는 높은 문맥 이해 능력과 지식 그래프 생성 능력을 갖추고 있습니다.
- 대화형 학습 기능: ChatGPT는 대화형 학습 기능을 제공하지 않으며, Text-Davinci-003는 대화를 통해 생성된 정보를 바탕으로 학습할 수 있는 대화형 학습 기능을 제공합니다.
ChatGPT와 Text-Davinci-003의 공통점으로는 대규모 언어 모델로서 다양한 자연어 처리 작업에서 높은 성능을 보인다는 점 입니다. 반면, 차이점으로는 모델 크기, 대화 생성 능력, 지식 그래프 생성 능력, 대화형 학습 기능 등이 있습니다.
이러한 차이점을 고려하여, 이번 포스팅에서는 Text-Davinci-003 API 키 발급 방법과 Text-Davinci-003 파라미터 사용법에 대해 정리해보겠습니다.
Text-Davinci-003 API 키 발급 방법
Text-Davinci-003 API 키 발급 방법은 아래와 같습니다. 참고로 API 키 발급 화면이 나타난 후에는 꼭 메모하거나 저장해두는 것을 추천합니다.
1. OpenAI 홈페이지 > 로그인 > 우측 상단 프로필 아이콘 > “View API Keys” 선택
OpenAI 홈페이지의 API 페이지로 가서 우측 상단의 LOG IN 을 통해 로그인을 진행합니다.
그 다음 우측 상단의 프로필 아이콘을 선택하고 “View API keys” 메뉴로 진입합니다. 참고로 아래 링크를 통해서도 접근이 가능합니다.
https://beta.openai.com/account/api-keys
2. API keys > “Create new secret key” 선택
API keys 화면이 나타나면 하단에 있는 “Create new secret key”를 선택해줍니다.
참고로 해당 화면에서 기존에 발급 받은 API key 리스트도 확인이 가능합니다.
해당 버튼을 눌러주면 아래와 같이 Text-Davinci-003 API가 신규 발급되어 나타납니다. 해당 키를 복사해서 다른 곳에 꼭 메모를 해두고 사용을 하면 됩니다.
Text-Davinci-003 API 사용 방법
파이썬(Python) 등에서 Text-Davinci-003 API를 사용하는 방법은 매우 간단한데요, 아래와 같은 소스코드를 활용해서 사용할 수 있습니다.
import os
import openai
openai.api_key = os.getenv(“여기에 API 키 입력”)
response = openai.Completion.create(
model=”text-davinci-003″,
prompt=”The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.\n\nHuman: Hello, who are you?\nAI: I am an AI created by OpenAI. How can I help you today?\nHuman: I’d like to cancel my subscription.\nAI:”,
temperature=0.9,
max_tokens=150,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.6,
stop=[” Human:”, ” AI:”]
)
print(response.choices[0].text)
참고로 OpenAI에서도 여기 링크를 통해서도 Text-Davinci-003 API 사용법에 대해 가볍게 안내하고 있습니다.
사용법은 위와 같은 코드를 사용하고 있는 DIE 툴에 복사 한 다음, OpenAI 라이브러리를 설치해 주면 됩니다. (pip install openai) 물론 API key를 입력하고 prompt에 질문을 넣어주어야 합니다.
Text-Davinci-003 API 파라미터 설명
Text-Davinci-003 API에서 사용하는 파라미터는 대략적으로 아래와 같습니다. 참고로 수많은 어려운 질문에 대한 구체적이고 전문적인 대답을 얻기 위해서는 유료 결제를 해야하며 신용카드 정보를 입력해두어야 합니다.
참고로 아래의 파라미터들은 API의 기능을 제어하고, 결과를 반환하는 데 사용됩니다. 다음은 Text-Davinci-003 API의 주요 파라미터들입니다.
- prompt (필수): API에 전달할 입력 문장이나 문서를 설정합니다. 이 파라미터는 필수적으로 지정되어야 합니다.
- temperature (선택): 생성된 텍스트의 다양성을 조절하는 데 사용됩니다. 값이 높을수록 생성된 텍스트가 더 다양해지며, 값이 낮을수록 생성된 텍스트가 더 일관성 있게 나옵니다. 기본값은 0.5입니다. 0에서 2까지의 범위를 입력이 가능하며 출력할 단어가 얼마나 랜덤 한 확률로 보여줄지 설정합니다. 가령 0은 완전히 확정적인 문장을 출력하므로 매번 같은 문장을 생성합니다. 보통 중간 정도의 값을 선택해서 적당한 랜덤성을 설정해 의미 있는 문장을 생성하는 것이 가능합니다.
- max_tokens (선택): 생성할 텍스트의 최대 토큰 수를 설정합니다. 이 값을 크게 설정할수록 더 긴 텍스트가 생성됩니다. 기본값은 2048입니다.
- stop (선택): 생성된 텍스트에서 중지 단어로 사용될 단어나 문장을 설정합니다. 이 값을 설정하면, 생성된 텍스트가 해당 단어나 문장을 포함하지 않고 중단됩니다. 기본값은 없습니다.
- presence_penalty (선택): 생성된 텍스트에서 사용되지 않을 단어에 대한 가중치를 조절합니다. 값이 높을수록 사용되지 않을 단어가 더 적게 나오며, 값이 낮을수록 사용되지 않을 단어가 더 많이 나옵니다. 기본값은 0입니다. -2.0에서 2.0 사이의 값을 취하고 이미 나온 단어를 다시 사용할지 여부를 지정합니다. -2.0에 가까울수록 똑같은 단어를 사용하며 2.0에 가까울수록 똑같은 단어를 사용할 확률이 낮아집니다. 기본값은 0입니다.
- frequency_penalty (선택): 생성된 텍스트에서 중복되는 단어에 대한 가중치를 조절합니다. 값이 높을수록 중복되는 단어가 더 적게 나오며, 값이 낮을수록 중복되는 단어가 더 많이 나옵니다. 기본값은 0입니다. presence_penalty와 마찬가지로 -2.0에 가까운 것과 같은 단어를 반복해서 사용하게 되며 2.0에 가까운 것과 같은 단어는 반복해서 사용하지 않게 됩니다
이번 포스팅에서는 Text-Davinci-003 API 키 발급 방법과 Text-Davinci-003 파라미터 사용법에 대해 정리해보았습니다.
참고로 ChatGPT API 사용방법은 아래와 같은 2개의 포스팅으로 나눠서 정리해보았습니다.
(1) Text-Davinci-003 특징 및 OpenAI 계정 만들기
(2) Text-Dacinci-003 API Key 생성 방법 및 파라미터 설명 (이번 포스팅)
앞선 포스팅에서 정리한 ChatGPT와 인공지능 관련 글은 아래와 같습니다.