일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 챗GPT
- trustworthiness
- Ai
- Transformer
- AI Fairness
- fairness
- Tokenization
- GPT-3
- 지피티
- 챗지피티
- Bert
- gpt2
- 트랜스포머
- 딥러닝
- 인공지능
- XAI
- 케라스
- cnn
- 설명가능성
- 자연어
- word2vec
- MLOps
- ChatGPT
- nlp
- ML
- 인공지능 신뢰성
- 신뢰성
- 머신러닝
- DevOps
- GPT
- Today
- Total
research notes
OpenAI API 활용 본문
1. OpenAI API 정의
OpenAI API는 OpenAI가 제공하는 서비스에 액세스하기 위한 프로그래밍 인터페이스. OpenAI API를 사용하면 개발자는 GPT를 활용해 텍스트 생성, 번역, 요약, 질문 응답 등 다양한 자연어 관련 자신의 서비스를 개발할 수 있다. OpenAI API 지원 프로그래밍 언어는 공식적으로 파이썬과 Node.js이며, API 활용시 비용이 발생할 수 있으므로 이를 확인하는 것이 중요하다.
2. OpenAI API Key
OpenAI API 서비스를 사용하기 위해서는 사전에 API키 발급이 되어야 한다.
- https://openai.com/blog/openai-api 사이트 이동
- 로그인 → 계정 아이콘 클릭 → View API Keys 클릭
- Create a new secret key 클릭
- API 키 복사(API키는 한 번 창이(Create new secret key) 활성화 되면 복사를 해 놓아야 한다. 창을 종료 후에는 확인이 불가하다...)
3. OpenAI API 사용 요금
- 기본적으로 OpenAI API는 유료이며, 계정 생성시 5달러 상당의 무료 크레딧이 제공 됨(단, 3개월 이내 사용 제한)
- 사용하는 프롬프트의 입력 및 출력 토큰 수에 따라 요금이 부과되는 형태
- Open API 현재 사용 요금은 [OpenAI 로그인 → 계정 아이콘 클릭 → Manage Account → Usage]에서 확인 할 수 있음
- 또한 [Billing → Usage limits]에서 사용량을 사전에 설정하여 조절 및 모니터링이 가능
- Hard limit: 월 사용량이 정의한 기준치를 초과할 경우 서비스를 제한하는 기능
- Soft limit: 월 사용량이 정의한 기준치를 초과할 경우 사전 알림 메일을 보내는 기능
4. OpanAI API 사용방법
4.1. 텍스트 생성 및 질의응답
매개변수 | 설명 |
model(required) | 사용할 모델의 ID(text-davinci-003 등) |
prompt(required) | 입력에 사용되는 프롬프트 |
temperature | 모델의 다음 토큰 확률분포에 변형을 가해 문장을 다양하게 생성하는 기법(0에서 2 사이 선택 가능) 0.8과 같이 값이 높을수록 출력이 더 무작위로 만들어지고, 0.2와 같이 값이 낮을수록 더 일관성 있는 문장 생성 |
max_tokens | 생성할 최대 토큰 수 |
!pip install openai
import openai
openai.api_key = "발급 받은 OPENAI KEY"
prompt = '''인공지능에 대해 알려주세요'''
response = openai.Completion.create(
model = 'text-davinci-003',
prompt = prompt,
temperature = 0,
max_tokens=500
)
print(response['choices'][0]['text'])
4.2. 이미지 생성
매개변수 | 설명 |
prompt | 원하는 이미지에 대한 텍스트 설명(최대 길이는 1000자) |
n | 생성할 이미지 수(1에서 10 사이) |
size | 생성할 이미지 크기(256x256, 512x512, 1024x1024 중 하나) |
response_format | 생성할 이미지 반환 형식(url 또는 b64_json) |
user | 최종 사용자 ID |
!pip install openai
import openai
openai.api_key = "발급받은 OPENAI API KEY"
prompt = "dog on the clouds"
response = openai.Image.create(
prompt=prompt, ## 이미지 설명 프롬프트
n=1, ## 생성할 이미지 수
size='512x512' ## 이미지 크기
)
image_url = response['data'][0]['url']
print(image_url)
## print(image_url) 생성 요청한 이미지 url
4.3. 모더레이션
사용자 입력 또는 생성 모델이 생성한 콘텐츠가 OpenAI의 사용 정책을 준수하는지 확인하기 위해 모더레이션 API를 활용 할 수 있다. 모더레이션 API 활용 결과로 정책 위반 여부에 대한 결과를 전달한다. 아래 코드 실행 결과로 'violence=true'임을 알 수 있다.
OpenAI 활용 컨텐츠 정책: https://platform.openai.com/docs/guides/moderation/overview
!pip install openai
import openai
openai.api_key = "발급받은 OPENAI API KEY"
response = openai.moderations.create(
input = "I want to kill them."
)
print(response.results[0])
{
"id": "modr-XXXXX",
"model": "text-moderation-005",
"results": [
{
"flagged": true, // OpenAI의 컨텐츠 정책 위반인 경우 'true'
"categories": { // 각 카테고리별 OpenAI의 컨텐츠 정책 위반 여부(T/F)
"sexual": false,
"hate": false,
"harassment": false,
"self-harm": false,
"sexual/minors": false,
"hate/threatening": false,
"violence/graphic": false,
"self-harm/intent": false,
"self-harm/instructions": false,
"harassment/threatening": false,
"violence": true,
},
"category_scores": { // 각 카테고리별 점수(0~1 사이의 범위)
"sexual": 1.2282071e-06,
"hate": 0.010696256,
"harassment": 0.29842457,
"self-harm": 1.5236925e-08,
"sexual/minors": 5.7246268e-08,
"hate/threatening": 0.0060676364,
"violence/graphic": 4.435014e-06,
"self-harm/intent": 8.098441e-10,
"self-harm/instructions": 2.8498655e-11,
"harassment/threatening": 0.63055265,
"violence": 0.99011886,
}
}
]
}
5. OpenAI 플러그인
ChatGPT 플러그인은 현재 ChatGPT Plus 사용자만 사용할 수 있는 기능으로, 타사 서비스의 API에 연결해 ChatGPT 서비스를 활용할 수 있도록 제공하는 기능이다. 즉, ChatGPT 서비스에 Expedia(여행), Shopify(쇼핑) 등의 플러그인을 연결해 관련된 정보를 받을 수 있도록 한다.
또한, ChatGPT Retrieval Plugin을 활용해 개인이나 기업 및 조직의 고유(프라이빗) 데이터를 ChatGPT가 액세스 하여 해당 데이터에서 검색 및 답변을 할 수 있는 기능을 제공한다. 즉, 사용자는 파일, 메모, 이메일, 문서 등의 데이터에서 가장 관련성이 높은 답변을 받을 수 있다.
References:
[1] https://devocean.sk.com/blog/techBoardDetail.do?ID=164761
[2] GPT-4, ChatGPT, 라마인덱스, 랭체인을 활용한 인공지능 프로그래밍, 후루카와 히데카즈 지음/트랜스메이트 옮김
'GPT > 개념정의' 카테고리의 다른 글
C2PA(The Coalition for Content Provenance and Authenticity) (0) | 2024.03.10 |
---|---|
프롬프트 엔지니어링(Prompt Engineering) (0) | 2023.02.28 |
How GPT-2 and GPT-3 works? (0) | 2023.02.26 |
GPT 다음 토큰 선택 알고리즘 (1) | 2022.11.05 |
BERT(Bidirectional Encoder Representation from Transformer) (0) | 2022.10.25 |