300x250
작업환경
- Visual Studio Code 1.74.3
- Python 3.11.1
- openai 0.26.4
들어가기 전에 적는 몇 자..
영어가 안되니 문서를 봐도 정확히 이해가 안 되는 부분이 많아서 외국 유튜버 코드를 보면서
클론 코딩 했습니다. API Key도 만료된 걸 몰라서 그거 해결하는데도 시간을 좀 썼네요
>> OpenAI QuickStart Code 사용법
git clone https://github.com/openai/openai-quickstart-python.git
cd openai-quickstart-python
cp .env.example .env
pip install -r requirements.txt
flask run
코드 설명
- quickstart code를 git에서 복사해 옵니다.
- . env 파일은 API Secret Key를 입력해 두는 파일입니다.
- python 프로젝트는 flask로 작동합니다.
여기서 물론 API Key는 발급받은 상태로 자신의 Key값을. env파일에 입력해주어야 합니다.
QuickStart 코드는 개와 고양이의 이름에 대한 간단한 작명 기능을 제공하는 OpenAI 라이브러리의
기능을 간단히 맛볼 수 있습니다.
>> OpenAI 기초 예제 - prompt, model, max_tokens, temperature, response
import openai
API_KEY = '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'
openai.api_key = API_KEY
prompt= '''How big is the moon?
What's the Chicago's population?
'''
response = openai.Completion.create(
prompt = prompt,
model = 'text-davinci-003',
max_tokens=1000,
temperature=0.9,
n=3,
stop=['---']
)
#print(response)
#print(response.usage.total_tokens)
for result in response.choices:
print(result.text)
문법 설명
- prompt : 질문할 텍스트 값
- model : 사용할 openai 모델(text-davinci...)
- max_tokens : 완료 시 생성할 최대 토큰 수 즉 질문의 응답 길이가 이 토큰을 초과할 수 없다.
- temperature : 온도, 샘플링에 대한 온도이며 온도의 높낮이에 따라 질문 응답의 차이가 존재합니다.
- 통상적으로 더 위험을 감수한 창의적인 대답을 원하면 0.9
- 정의된 답이 있는 경우를 상정하면 0을 사용합니다.
- n : 정수, 프롬포트에 대한 완료 여부에 대한 제어 매개변수입니다.
- stop : API가 토큰 생성을 중지, 즉 정지값
이 문법에 대한 설명이 좀 애매모호하다는 느낌이어서 사용해 보고 이해한 느낌으로 적었습니다.
즉 모델을 선정해 prompt로 질문을 하여 그에 대한 응답을 받는 것이 이 API의 핵심적인 역할이며
max_tokens으로 최대 prompt 토큰을 제한하며 (모델마다 max_tokens값이 존재합니다.)
temperature로 응답의 수준을 조절합니다.
n, stop으로 응답을 제어합니다.
위 코드는 davinci-003 모델에게 달의 크기와 시카고의 인구수를 물어보는 코드이며
결과를 for문으로 돌려받습니다.
3개의 답이 각 prompt 두 개에 맞게 6개의 결괏값이 출력되었습니다.
응답구조를 확인하고 싶으면 response를 출력하는 것으로 확인가능합니다.
print(response)
response에서는 각 어떤 값이 사용되는지 확인할 수 있었습니다.
참고
다른글
300x250
'개발&코딩 > AI' 카테고리의 다른 글
Adobe의 Firefly를 활용해 간단하게 AI 이미지 생성하기 (0) | 2024.01.12 |
---|---|
Open AI No API Key Error 문제 원인과 해결 방법 (0) | 2023.02.14 |
ChatGPT에게 쇼핑몰 웹사이트 제작을 자동화 시켜보자 (0) | 2023.02.11 |
ChatGPT에 Criminal IP API를 교육해서 자동화 코딩하기 (0) | 2023.02.07 |
댓글