SMS처리 도우미
실용정보 프로그래밍관련

chatgpt API 파이썬으로 작성하기

작성자 소스놀이터 작성일 2023-07-16 14:14:15 조회수 6696 E-mail ldwin@naver.com

파이썬으로 챗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를 진행하는 영상입니다.

 


Recent Posts

실용정보 최근 글

실용정보 게시판의 프로그래밍관련 관련 최근 글입니다.

X
로그기록