1. Open AI API 소개
OpenAI API는 거의 모든 작업에 적용 가능 .
다양한 기능과 가격대의 다양한 모델을 제공할 뿐만 아니라 맞춤형 모델을 미세 조정할 수 있는 기능도 제공함
OpenAI에서는 현재 API를 이용하여 개발 가능한 다양한 응용을 제시한다
참고 :
2. 사용가능한 Open AI 모델들
24/05/21 update
MODEL | DESCRIPTION |
GPT-4o | 가장 빠르고 경제적인 플래그십 모델 |
GPT-4 and GPT-4 Turbo | GPT-4 및 GPT-4 터보 GPT-3.5를 개선하여 자연어 또는 코드를 이해하고 생성할 수 있는 모델 세트 |
GPT-3.5 Turbo | 간단한 작업을 위한 빠르고 저렴한 모 |
DALL·E | DALL-E 자연어 프롬프트가 주어지면 이미지를 생성하고 편집할 수 있는 모델 |
TTS | TTS 텍스트를 자연스러운 음성 오디오로 변환할 수 있는 모델 세트 |
Whisper | Whisper 오디오를 텍스트로 변환할 수 있는 모델 |
Embeddings | 임베딩 텍스트를 숫자 형식으로 변환할 수 있는 모델 세트 |
Moderation | 텍스트가 민감하거나 안전하지 않은지 여부를 감지할 수 있는 미세 조정된 모델 |
GPT base | GPT 베이스 자연어 또는 코드를 이해하고 생성할 수 있는 명령어가 없는 모델 집합 |
GPT-3 | 자연어를 이해하고 생성할 수 있는 모델 세트 |
3. API 사용해보기
3.1 Key 준비
OpenAI 계정 생성 후 Key 발급 필수
https://platform.openai.com/api-keys
3.2 Python 개발 환경 준비
(1) Python 설치
2023. 11월 현재 Python 3.7.1 이상 지원
(2) Open api 패키지 설치
pip install --upgrade openai
(3) API Key 등록
리눅스 .bashrc 등에 등록하면 매번 할 필요 없음, 외부 공개 안되도록 소스에 넣을때는 주의 할 것
export OPENAI_API_KEY='your-api-key-here
소스에서는 아래처럼 하드코딩 해도 되지만 권장안함, 가능하면 환경 변수 사용할 것
OPENAI_API_KEY=abc123
client = OpenAI()
# 기본값은 os.environ.get("OPENAI_API_KEY")를 사용하여 키를 가져옵니다.
# 키를 다른 환경 변수 이름으로 저장한 경우 다음과 같이 할 수 있습니다:
# 클라이언트 = OpenAI(
# api_key=os.environ.get("CUSTOM_ENV_NAME"),
# )
3.3 API를 이용한 ChatGPT 기본 동작시험
API Key는 환경변수에 등록함
gpt-4o 와 gpt-4를 이용하여 테스트
print(completion.choices[0].message.content)
'''
gpt-4 응답
파이썬 코드는 다음과 같이 작성할 수 있습니다.
```python
for i in range(1, 1001, 2):
print(i)
```
이 코드에 대한 설명은 다음과 같습니다:
- 파이죤의 `range()` 함수는 일정 범위의 수를 생성하는 데 사용됩니다. `range()` 함수는 1개, 2개 또는 3개의 인자를 취할 수 있습니다. 1개의 인자를 취하면 `0`에서 그 숫자 미만까지의 범위를 생성합니다, 2개의 인자를 취하면 첫 번째 숫자에서 두 번째 숫자 미만까지의 범위를 생성합니다. 3개의 인자를 취하면 첫 번째 숫자부터 두 번째 숫자 미만까지의 범위를 세 번째 숫자만큼의 간격으로 생성합니다.
- `(1, 1001, 2)` 인자를 사용하여 `1`부터 `1000`까지의 홀수를 생성한다. 처음 인자 `1`은 시작값, 두 번째 인자 `1001`는 `1000`을 포함하지 않는 종료값, 세 번째 인자 `2`는 간격을 의미한다.
- `for` 루프는 이 생성된 범위의 각 숫자에 대해 반복되며, 각 반복에서 숫자 `i`는 현재 숫자를 나타내며, `print(i)`를 통해 화면에 출력된다.
결과적으로, 이 코드는 1부터 1000까지의 모든 홀수를 출력합니다.
'''
3.4 사용가능한 Chat 모델
모델의 특성, 입력가능한 토큰의 수 등에 따라 다양하게 선택 가능하다.
(모델에 따라 사용 비용 차이 있음)
2024.5 현재 업그레이드 된 최종 버전은 다음과 같다. (128K도 출시)
MODEL NAME | Description | token |
gpt-4o | GPT-4 터보보다 더 저렴하고 빠른 가장 진보된 멀티모달 플래그십 모델 현재 gpt-4o-2024-05-13 |
128K |
gpt-4-turbo | Vision 기능을 갖춘 최신 GPT-4 Turbo 모델. 현재 gpt-4-turbo-2024-04-09 |
128K |
gpt-4-turbo-preview | GPT-4 터보 모델 현재 gpt-4-0125-preview |
128K |
gpt-4 | 현재 gpt-4-0613 | 8K |
gpt-3.5-turbo-0125 |
최신 GPT-3.5 터보 모델 | 16K |
이것 말고도 이전 버전은 많이 있으나 곧 deprecation 될듯하다.
상세는 아래 참조
https://platform.openai.com/docs/models/continuous-model-upgrades
이전 모델들의 지원 중단 예정일(showdown date) - 대부분 2024년1월 중
https://platform.openai.com/docs/deprecations
API를 이용한 개발 예제들
https://yongeekd01.tistory.com/142
https://yongeekd01.tistory.com/143
https://yongeekd01.tistory.com/144
https://yongeekd01.tistory.com/145
https://yongeekd01.tistory.com/146
'IT > 개발' 카테고리의 다른 글
OpenAI Audio API를 이용한 STT 구현 기초(whisper-1, transcription, English translation) (0) | 2023.11.28 |
---|---|
OpenAI Audio API를 이용한 TTS 구현 기초(tts-1, tts-1-hd) (0) | 2023.11.28 |
오디오 raw PCM 데이터에 wav header 생성 하기(파이썬) (0) | 2023.11.22 |
ICMP, Ping을 구현하여 RTT 검사하기(C code) (0) | 2023.11.08 |
LLM 학습에 사용되는 공개 데이터 (말뭉치, ChatGPT, PaLM, LLaMA 등) (0) | 2023.10.17 |