일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 오퍼레이터
- nginx ingress
- argocd
- Kopf
- eBPF
- 카오스 엔지니어링
- Model Serving
- CANARY
- gitops
- Kubernetes 인증
- mlops
- operator
- xdp
- tekton
- Continuous Deployment
- kubernetes operator
- Kubernetes
- opentelemetry
- knative
- Argo
- Litmus
- opensearch
- MLflow
- keda
- seldon core
- blue/green
- CI/CD
- Kubeflow
- serving
- Pulumi
- Today
- Total
Kubernetes 이야기
ChatGPT API 사용 본문
얼마전 ChatGPT 4가 3월 14일 발표되었다. GPT란 ‘Generative Pre-trained Transformer’의 약자로 OpenAI가 개발한 인공지능 모델이다. GPT는 자연어 처리를 위한 인공지능 모델로, 방대한 데이터를 머신러닝으로 미리 학습(Pre-trained)해 이를 문장으로 생성(Generative)하는 기능을 한다.
GPT4가 이전 GPT3.5 보다 크게 달라진 점은 Multimodal을 도입했다는 것이다. multimodal이란 여러가지 형태의 정보를 통해 소통하는 환경을 말한다. 여러가지 형태의 정보란 영상, 이미지, 소리, 댓글 등 다양한 정보를 의미한다. GPT4는 이미지를 인식하여 해당 이미지에 대한 정보를 텍스트로 생성할 수 있다.
ChatGPT API 를 사용하는 샘플을 살펴보자.
GhatGPT API를 사용하기 위해서는 먼저 API Key 를 획득해야 한다. ( API 가격은 gpt-3.5-turbo모델의 경우 1,000개 토큰당 $0.002 )
https://platform.openai.com/account/api-keys
OpenAI API
An API for accessing new AI models developed by OpenAI
platform.openai.com
Create new secret key 버튼을 클릭한다.
생성된 키를 복사한다. ( 해당 화면에서만 조회가 가능하니 복사 후 별도로 저장해 놓기를 권장한다. )
Python 으로 샘플 어플리케이션 만들어보기
python 개발 환경 설정
$ mkdir chatgpt
$ cd chatgpt
$ pipenv --python 3.11
$ pipenv shell
api 설치
$ pipenv install openai
Model
OpenAI API는 기능과 가격대가 다른 다양한 모델 세트로 구동된다. 또한 미세 조정을 통해 특정 사용 사례에 대한 원래 기본 모델에 대해 제한된 사용자 정의를 수행할 수 있다.
모델 | 설명 |
GPT-4
제한된 베타
|
GPT-3.5를 개선하고 자연어 또는 코드를 이해하고 생성할 수 있는 일련의 모델 |
GPT-3.5 | GPT-3에서 개선되고 자연어 또는 코드를 이해하고 생성할 수 있는 일련의 모델 |
DALL·E
베타
|
자연어 프롬프트가 주어지면 이미지를 생성하고 편집할 수 있는 모델 |
Whisper
베타
|
오디오를 텍스트로 변환할 수 있는 모델 |
Embeddings | 텍스트를 숫자 형식으로 변환할 수 있는 일련의 모델 |
Codex 제한된 베타
|
자연어를 코드로 번역하는 것을 포함하여 코드를 이해하고 생성할 수 있는 일련의 모델 |
Moderation | 텍스트가 민감하거나 안전하지 않은지 감지할 수 있는 미세 조정 모델 |
GPT-3 | 자연어를 이해하고 생성할 수 있는 일련의 모델 |
각 모델 안에는 또 다른 미세 모델등이 있다. 모델별로 API 사용 비용이 다르니 문서를 참고하여 모델을 선택하여 사용해야 한다.
OpenAI 라이브러리로 할 수 있는 일이 많지만 예제는 ChatGPT에서 사용하는 것과 동일한 모델인 gpt-3.5-turbo 모델을 사용하여 테스트해보자.
샘플
import openai
openai.api_key = "sk-xxx"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "kubernetes는 왜 사용하나요?"},
]
)
result = ''
for choice in response.choices:
result += choice.message.content
print(result)
Messages List에는 role과 content 2개의 key가 존재하는 dictionary를 가지고 있다. role에는 "system", "user", "assistant" 3가지가 있다. content는 role에서 정의된 역할에 따른 메시지 내용을 가진다.
- system : ‘You are a helpful assistant.’와 같은 메시지로 assistant에게 지시할 수 있다. 시스템이 챗봇에게 일종의 역할을 부여한다고 볼 수 있다.
- user : assistant에게 직접 전달하는 내용이다.
- assistant : 이전에 응답했던 결과를 저장해 대화의 흐름을 유지할 수 있도록 설정할 수 있다.
위의 코드를 실행하면 다음과 같이 결과가 나타난다.
응답
Kubernetes는 새로운 소프트웨어를 빠르게 배포하고, 관리하고, 확장하기 위해 사용됩니다. 이러한 소프트웨어 덮개는 큰 상호 연결 시스템의 일부분으로 구동됩니다. Kubernetes는 대규모 분산 애플리케이션을 구축하는 데 매우 유용합니다. 필요한 서비스나 작업별로, Kubernetes는 언제든지 컨테이너를 배치, 스케일링 및 관리할 수 있습니다.
이렇게 함으로써 기존 운영 환경보다 더 높은 성능, 안정성, 확장성을 제공합니다. 여러 개의 컨테이너를 배치하여 뛰어난 높은 가용성과 일관성을 제공하며, 배포, 확장 및 주기적인 업데이트를 자동화합니다. 즉, Kubernetes는 개발자, 인프라 팀, 시스템 관리자, 애플리케이션 관리자 등 모든 IT 역할 사이에 비즈니스 가치를 빠르게 알리며, 운영 비용을 절감합니다.
참고
'개발 > python' 카테고리의 다른 글
mitmproxy을 사용하여 K8S API Server Reverse Proxy 설정하기 (0) | 2023.02.22 |
---|---|
Playwright와 Python 사용 방법 (0) | 2023.02.22 |
playwright를 활용한 e2e 테스트 (0) | 2023.02.15 |
Python에서 gRPC 구현 (0) | 2023.02.13 |
Kopf ( 예제 ) (1) | 2023.02.05 |