파이썬 AI 실습/chatGPT API 사용하기

chatGPT API 사용 하기 - 3.chatGPT API 사용하기

파기차차 2023. 3. 25. 23:05
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 

 - 이번 글은 이전글(chatGPT API 사용 하기 - 2.크롬 확장 프로그램)에 이은 3번째 글로 chatGPT API를 사용하는 방법에 대하여 알아보겠습니다.

 

 

 

O 완성된 프로그램 실행 화면

 

 

 - 본 포스팅의 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

1.먼저 chatGPT에서 '파이썬으로 구구단 프로그램 소스 만들어줘'라고 얘기하면 구구단 소스코드를 만들어 줍니다.

 

 

 

 

 

 

2.위와 동일한 요청을 API로 코딩하여 프로그램을 실행하여 아래와 같이 결과가 나옵니다.

 

 

 

 

3.chatGPT가 응답해준 위의 (2)번 결과를 복사하여 gugudan.py에 붙여넣고 실행하면 아래와 같이 잘 실행되는 것을 볼 수 있습니다.

 

                                                                  [gugudan.py 소스 코드]

 

 

 

 


 

 

O 주요 내용

 

1.소스코드를 간략히 살펴보겠습니다.

 

관련 모듈을 임포트 해줍니다.(line 1~3)

openai의 api키를 적어 줍니다.(line 5)

※ OpenAI의 API키 생성과 관련된 내용은 아래를 참고하시기 바랍니다.

https://pagichacha.tistory.com/138

 

chatGPT에게 물어볼 내용을 prompt에 넣어 줍니다.(line 7)

 

line9~14 의 코드는 chatGPT의 응답을 가져오는 부분으로 일단, 이렇게 사용한다라고만 알아 두시기 바랍니다.

 

자세한 사용법에 대한 추가 설명은 아래 레퍼런스를 참고하시기 바랍니다.

https://platform.openai.com/docs/api-reference/making-requests

 

 

 

 

 

 

[config.py 소스코드]

 

 

전체 응답결과(line 16)는 아래와 같습니다.

딕셔너리 구조인 'choices'키에 해당하는 벨류에 우리가 원하는 값이 포함되어 있는데, 'choices' 아래 구조는 리스트 구조이고, 첫번째에 구구단 소스가 있으므로 response['choices'][0]까지 만들어 낼 수 있으며,

리스트 아래 구조는 다시 딕셔너리 형태이고, 'text'키 안에 구구단이 포함되어 있으므로 아래와 같이 표현할 수 있습니다.

response['choices'][0]['text'] <-- 이렇게 하면 구구단 소스가 얻어짐

 

 

 

print(str(response['choices'][0]['text']).strip()) <-- 이렇게 프린트로 찍어본 결과가 아래에서 (2)번에 해당하는 결과를 얻었습니다.(strip()함수는 양옆의 공백을 제거)

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘은 chatGPT웹사이트에서 얻는 결과와 동일하게 API를 이용하여 결과를 얻어내는 방법에 대하여 알아보았습니다.
 
 
 - 오늘 우리가 배운 내용을 간략히 정리해 보면 아래와 같습니다.
 
 > 1.chatGPT 응답값 가져오기
response = openai.Completion.create(
    model="text-davinci-003",
    prompt=prompt,
    temperature=1,
    max_tokens=4000
)

 > 2.전체 응답값에서 필요한 부분만 가져오기

print(str(response['choices'][0]['text']).strip())

 

 

오늘은 여기까지이며, 댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.

 

 

 

 

감사합니다.

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.


 

728x90
반응형
LIST