언어 모델
- ChatGPT(GPT-3.5, GPT-4): 대화에 최적화된 모델
- InstructGPT: 단일 턴 지시에 최적화 (계속 이어지지 않고, 한 번의 지시-답변으로 이루어진 대화)
- 파인튜닝(fine-tuning) 모델: 사용자의 데이터로 학습시킬 수 있는 기본 모델
- 임베딩(embedding) 모델: 텍스트를 컴퓨터가 이해할 수 있는 벡터(숫자들이 나열된 데이터)로 변환하는 모델
이미지 모델
- DALL-E 2: 자연어로 이미지와 예술 작품을 만들 수 있는 모델
오디오 모델
- Whisper: 다양한 언어의 텍스트 변환과 영어 번역을 지원하는 자동 음성 인식 시스템
API용 모델
- API를 이용하여 OpenAI의 언어, 이미지, 오디오 모델을 활용할 수 있습니다.
OpenAI API 설치
// python에서 API를 사용할 때
pip install openai
// Node.js에서 사용할 때
npm install openai
텍스트 완성 API 호출 - curl
curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "text-davinci-003",
"prompt": "Say this is a test",
...
}'
텍스트 완성 API 호출 - python
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Completion.create(
model="text-davinci-003",
prompt="Say this is a test",
...
)
텍스트 완성 API 설정
- model: 사용한 모델의 ID
- prompt: 모델이 생성을 시작할 때 입력할 프롬프트 값
- max_tokens: 생성이 완료되는 데 필요한 최대 토큰 수
- temperature: 생성 결과의 무작위성
텍스트 완성 API의 응답
- choices[0].text: 모델이 생성한 텍스트
- usage: 텍스트 완성을 위해 사용된 토큰 정보
용어정리
토큰(tokens)
자연어 처리 모델이 텍스트를 처리하고 생성할 때 기본이 되는 단위입니다.
"I love modulabs and aiffel." 이란 문장이 있다면, 토큰화(Tokenization) 를 통해 "I", "love", "modulabs", "and", "aiffel", "."로 6개의 토큰을 얻을 수 있습니다. 챗GPT API의 요금은 토큰 기준으로 부과되기 때문에 개념을 알고 계시면 좋습니다.
##
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "안녕"}]
}'
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
'AI > AI 잡담' 카테고리의 다른 글
연합 학습(Federated Learning), 그리고 챌린지 (6) | 2024.09.30 |
---|---|
애플, 구글, IBM 등 빅테크 기업들이 연합학습을 연구하는 이유 (10) | 2024.09.30 |
AI시대, 이미 정리된 직업은? (0) | 2024.08.08 |
[MS 보고서] AI를 움직이는 힘은 바로 사용자 (0) | 2024.05.21 |
AI가 코더에게 도움을 주는 방법 (1) | 2023.12.04 |