본문 바로가기
  • Hello_
Python

[Python] 파이썬에서 chatGPT 사용하는 법

by LDwDL 2023. 2. 23.
728x90
반응형

본 포스팅에서는 파이썬에서 chatGPT를 사용하도록 지원하는 라이브러리를 소개하고 사용하는법에 대해 소개하고자 합니다.

 

openai 라이브러리 설치

본론부터 말씀드리면 파이썬에서 chatGPT를 지원하는 라이브러리는 openai라는 라이브러리로 pip으로 간단하게 설치가 가능합니다.

pip install openai

 

추가적으로 chatGPT를 사용하기 위해 설치해야하는 라이브러리들이 있는데요. 바로 requests, numpy, tqdm입니다. 해당 패키지들도 설치해줍시다.

pip install requests numpy tqdm

 

이제 파이썬에서 설치해줘야할 패키지는 모두 설치했습니다.

 

API KEY 가져오기

다음으로는 chatGPT API KEY가 필요합니다. API KEY는 여러분들이 웹에서 사용하고 있는 계정 정보를 파이썬에서도 연동할 수 있도록 해주는 계정키라고 보시면 됩니다. 이 키는 외부로 노출되지 않도록 조심하셔야 해요.

 

우선 API KEY를 가져옵시다. openai 사이트에 접속하여 로그인까지 해줍시다.

 

OpenAI

OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.

openai.com

 

그 다음 왼쪽 위에 계정을 눌러 "View API keys"를 클릭!

View API keys

 

접속하면 다음과 같이 API 키들이 나오는데요. 저는 이전에 발급받은적이 있어서 이전 키들도 표시가 됩니다.

밑에 "+ Create new secret key"를 눌러줘서 키를 발급받으시면 됩니다.

Create new secret key

 

새로운 키가 생성이 되면 아래와 같이 팝업창이 뜨고 오른쪽 초록색 버튼을 누르시면 복사가 됩니다.

copy API key

 

자 이제 모든 준비는 끝났습니다. 다시 python으로 돌아와서 이제 사용해봅시다.

 

python에서 chatGPT 사용

[변수 및 인자 설명]

1. openai.api_key에 위에서 발급받은 API KEY를 문자열로 입력해줍니다.

2. engine : 모델은 자유롭게 사용하셔도 되지만 "text-davinci-003" 모델이 gpt3.5로 최신 버전으로 알고 있습니다.

3. prompt : 자유롭게 질문을 작성해주시면 됩니다.

4. max_tokens : 입력과 출력의 길이로 해당 길이가 넘어가면 에러가 발생합니다.

5. stop : 특정 패턴을 지정하여 stop 지점으로 설정할 수 있습니다.

 

import openai

openai.api_key = 'API_KEY'
model_engine = "text-davinci-003"

prompt = "Can you explain about deep-learning?" # 질문
completion = openai.Completion.create(engine=model_engine, prompt=prompt, max_tokens=2048, n=1,stop=None,temperature=0.7)
message = completion.choices[0].text # 대답
print(message)

"""
Deep learning is a subset of machine learning in which algorithms are used to model high-level abstractions in data. 
By using a deep learning algorithm, a computer can learn to recognize complex patterns in data. 
Deep learning is used in many fields, including computer vision, speech recognition, and natural language processing.
"""

 

위 예시는 딥러닝에 설명해 달라는 질문을 적었고 그에 해당하는 답변이 message라는 변수로 나오는 것을 알 수 있습니다.

 

뿐만 아니라 특정 알고리즘을 요구하는 경우도 출력이 되고 바로 변수로 입력이 되기 때문에 유용하게 사용하시면 될것 같습니다.

아래 예시는 ResNet8을 파이썬 코드로 구현해달라는 요청사항.

build resnet8

 

모듈화

사용할때마다 API KEY와 모델을 적어야 하는 번거로움때문에 모듈화를 시켜봤습니다. 

def chatgpu_python(ask):
    import openai

	openai.api_key = 'API_KEY'
    model_engine = "text-davinci-003"
    completion = openai.Completion.create(engine=model_engine, prompt=ask, max_tokens=2048, n=1,stop=None,temperature=0.7)
    answer = completion.choices[0].text
    print(answer)

 

바로 사용해봤어요.

weather in NewYork

 

 

별건 아니지만, 추후에 클래스화 하면 언제든지 해당 함수를 불러와서 사용할 수 있다는 장점이 있을것 같습니다.

 

728x90
반응형

댓글