7. ChatGPT 사용법 - 파이썬 개발 초간단 예제(2)
ChatGPT API 사용하는 법 초간단 예제를 아래 순서로 포스팅 합니다.
내용이 유익하셨다면, 구독/댓글/좋아요 부탁드립니다.
- Simple Tutorial 만들기
- ChatGPT 와 연속적인 대화 만들기
- 사전 Prompt 적용하기
해당 포스팅은 2. ChatGPT 와 연속적인 대화 만들기 에 대한 글입니다.
초간단예제 1번 에서 발생한 문제의 해결 방법은 의외로 간단하다.
기존에 받은 결과를 계속해서 입력으로 넣어주는 것이다.
import os
import openai
openai.api_key = os.getenv('OPENAI_KEY')
def generate_response(prompt):
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=2048,
temperature=0.7,
n=1,
stop=None,
)
return response.choices[0].text.strip()
# 대화 시작
prompt = "사용자: 안녕하세요!"
while True:
user_input = input("사용자: ")
prompt += "\n사용자: " + user_input
response = generate_response(prompt)
# 결과로 받은 response 를 prompt 에 다시 저장.
prompt += "\nChatGPT: " + response
print("ChatGPT:", response)
23번째 줄에 삽입한 한 줄로 프로그램에 메모리 기능이 생기게 되었다.
아주 Nice 한 방법은 아닌게, 이렇게 해결하게 되면 추후에 전달하고 받는 Token 의 개수에 제한이 걸리게 때문이다.
ref. Token 은 대화를 전달받는 대화의 '단위' 이다. ChatGPT 에서는 한 마디, 두 마디라고 하지 않는다.
이를 괜찮게 해결한 방법이 Github 에 올라와 있는데, Flask 라는 Web Framework 을 이용한 방법이다. Flask 를 이용하면 https://chat.openai.com/ 에 웹브라우저를 통해 접속하여, 대화를 진행하는 것이 코드만으로 수행이 가능하다.
이미 ChatGPT API 를 위해 'text 파일 업로드해서 input 으로 사용하는 법', 'pdf 업로드 방법' 등 다양한 노하우가 공개되기도 했다. 전부 필요하고 유익한 내용들이라 추후 다룰 예정이다.(세상이 너무 빨라서 갈 길이 멀다.)
위 코드를 반영한 결과와 함께 블로그 포스팅을 마친다.
위 내용이 만족스러운가?
저렇게 글을 쓰면 블로그 자동화는 커녕, ChatGPT 를 단순 검색정도의 수준으로 밖에 활용하지 못할 것이다.
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 에서 제공한 Pre-defined 된 프롬프트를 적용하여, 더 나이스한 결과를 다음 포스팅에서 기대해 본다.