1 개요편집
Openai의 기능을 사용하기 위한 라이브러리.
ChatGPT API를 쉽게 사용하게 돕는 라이브러리.
2 사전 준비편집
과정 | 설명 | 비고 |
---|---|---|
라이브러리 설치 | openai의 기능을 쉽게 사용하게 해주는 라이브러리. | pip install openai |
API 키 발급 | ChatGPT를 사용하기 위한 API키를 발급받는다. | https://platform.openai.com/account/api-keys |
클라이언트 설정 | 파이썬에서 가장 처음 시작되는 코드. | import openai
openai.api_key = "API키 넣을 자리"
completion = openai.Completion()
|
모델 설정 | openai.Model.list()
위 코드로 모델 리스트를 볼 수 있다..만, 아래 링크를 참조하자. |
|
요금정보 | Fine Tunning도 가능하다. 다양한 모델과 미세조정을 위한 요금은 비고를 참고하자. | 요금표. https://openai.com/pricing#language-models |
3 사용편집
4 사용(구버전)편집
나온지 얼마나 됐다고, 호출하는 형태가 달라졌다; 굉장히 귀찮은 일이다;; 아래의 방식을 그대로 사용하고 싶다면 pip install openai==0.28
을 사용하자.
4.1 기본 형태(채팅)편집
기본 형태가... 결과물에 따라 천차만별이 된다. https://platform.openai.com/docs/introduction를 보며 만들어가는 게 좋을듯.
과정 | 설명 | 비고 |
---|---|---|
기본 형태 | 일반적으로 웹사이트에서 이용하는 형태의 응답을 주고받기 위한 형태. | import openai
openai.api_key = "API키 넣을 자리"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo"
messages=[
{'role':'user', 'content':'작성하고 싶은 프롬프트'}
]
)
print(response['choices'][0]['message']['content']) # 응답 중 답변만 추출한다.
|
역할 부여. | message 안에서 역할을 부여할 수 있다. | 다음과 같이 수정한다.messages=[
{'role':'system','content':'부여할 역할을 설명해 전달한다.'},
{'role':'user','content':'물어보고 싶은 내용.'}
]
|
이전 대화 기억. | 이전 대화를 기억해 마치 사람과 대화하듯..
이전 대화에 대한 정보를 넣는 데에도 토큰을 사용하니 유의하자. |
다음과 같이 수정한다.messages=[
{'role':'system','content':'부여할 역할을 설명해 전달한다.'},
{'role':'user','content':'이전에 물어본 내용.'},
{'role':'assistant', 'content':'물어본 내용에 대한 답.'},
{'role':'user','content':'새로이 물어볼 내용.'}
]
|
4.2 기본 형태(채팅이 아닌 단답 문장 완성형)편집
위와 다른 점만 기입하겠다.
채팅형 | 단답형 |
---|---|
import openai
openai.api_key = "API키 넣을 자리"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo"
messages=[
{'role':'user', 'content':'작성하고 싶은 프롬프트'}
]
)
print(response['choices'][0]['message']['content']) # 응답 중 답변만 추출한다.
|
import openai
openai.api_key = "API키 넣기."
# 조건
model = 'text-davinci-003' # 선택할 수 있게! ex) gpt-3.5-turbo
max_tokens = 1700 # 입력에 1000정도 사용해서. 출력은 700 이하가 되게끔.
response = openai.Completion.create(
engine=model,
prompt='api 사용을 시도해보고 있어. 아무 말이나 해봐~',
max_tokens=max_tokens
)
print(response)
print('답변')
print(response['choices'][0]['text']) # 응답 중 답변만 추출한다.
response = response['choices'][0]['text']
|