SMS처리 도우미
E-mail
  ldwin@naver.com
제목
  chatgpt API 파이썬으로 작성하기 (From. 소스놀이터)


파이썬으로 챗GPT API를 다루려면 먼저 openai 모듈이 설치된 상태여야 합니다.

그래서 다음처럼 openai 설치합니다.

pip install openai

그리고 확장자 py의 파이썬 파일을 만들고 그 내용은 다음처럼 합니다.

1. 상단에 import openai 를 적습니다 (openai 모듈 로드)

2. API KEY를 적습니다.

openai.api_key = "openai 홈페이지 로그인 후 확인 가능한 API KEY 넣기"

3. API 호출 부분을 작성합니다.

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="파이썬 코딩 잘하는 법 알려줘",
  temperature=0.5, 
  max_tokens=150,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.6,
  stop=[" Human:", " AI:"]
)

4. 위 내용이 실행 성공하면 그 결과는 response 변수에 담깁니다.
   그리고 챗GPT의 답변은 다음을 통해 알 수 있습니다.

print(response.choices[0].text)

위 코드를 보면.. "response.choices[0].text"에 답변이 담겨 있으며 
이를 출력하는 내용의 코드입니다.


3번의 API 호출부에 보시면 model을 "text-davince-003"으로 설정했습니다.

이 경우, openai.Completion.create를 통해 API를 호출하게 됩니다.

만약, model을 "gpt=3.5-turbo"로 설정했다면... openai.ChatCompletion.create를 통해 

API를 호출해야 하죠.

다음은 gpt=3.5-turbo 모델을 사용한 API 호출부 코드입니다.

completion  = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
{"role": "user", "content": "파이썬 코딩 잘하는 법 알려줘"}
],
temperature = 0,
top_p=0,
frequency_penalty=0.0,
presence_penalty=0.0,
)
 
이 방식을 썼을 때, 챗GPT 답변을 가지고 오려면 "text-davinci-003"와는 다른 방법을 써야 합니다.
앞의 코드에서 
completion 변수로 API 호출 결과를 받았으므로
아래 구문처럼하여 답변을 출력할 수 있습니다
print(completion['choices'][0]['message']['content'])
-> completion['choices'][0]['message']['content']에 답변이 담김
 
지금까지 모델 종류에 따라.. API를 호출하는 두가지 방법을 다루었습니다.
1. openai.Completion.create
2. openai.ChatCompletion.create
 
그럼 두가지 방법 각각에 해당하는 모델들은 무엇일까요?
아래 내용 참조하세요.
 
1. openai.Completion.create
text-davinci-003, text-davinci-002, text-davinci-001, text-curie-001, text-babbage-001, text-ada-001, davinci, curie, babbage, ada
2. openai.ChatCompletion.create
gpt-4, gpt-4-0613, gpt-4-32k, gpt-4-32k-0613, gpt-3.5-turbo, gpt-3.5-turbo-0613, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613
 
그럼 마지막으로 전체 소스를 정리해 보겠습니다.
 
1. openai.Completion.create 의 경우 다음처럼 할 수 있습니다
 
import openai

openai.api_key = "openai 홈페이지 로그인 후 확인 가능한 API KEY 넣기"

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="파이썬 코딩 잘하는 법 알려줘",
  temperature=0.5, 
  max_tokens=150,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.6,
  stop=[" Human:", " AI:"]
)

print(response.choices[0].text)
 
2. openai.ChatCompletion.create의 경우는 다음처럼 할 수 있습니다

import openai

openai.api_key = "openai 홈페이지 로그인 후 확인 가능한 API KEY 넣기"

import openai

openai.api_key = "openai 홈페이지 로그인 후 확인 가능한 API KEY 넣기"

completion  = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
{"role": "user", "content": "파이썬 코딩 잘하는 법 알려줘"}
],
temperature = 0,
top_p=0,
frequency_penalty=0.0,
presence_penalty=0.0,
)

print(completion["choices"][0]["message"]["content"])

참 위 파이썬 코드 실행하기 앞서 import openai 실행과, API KEY 넣는 것 잊지 마시구요!

다음은 파이썬으로 챗GPT API를 진행하는 영상입니다.

 

트위터, 페이스북 공유 부탁드립니다~!
트위터   페이스북


  • 패스워드
           
X