개발/ChatGPT

7. ChatGPT 사용법 - 파이썬 개발 초간단 예제(2)

디앤서관리자 2023. 5. 26. 21:49

ChatGPT API 사용하는 법 초간단 예제를 아래 순서로 포스팅 합니다.

내용이 유익하셨다면, 구독/댓글/좋아요 부탁드립니다.

  1. Simple Tutorial 만들기
  2. ChatGPT 와 연속적인 대화 만들기
  3. 사전 Prompt 적용하기

Chatgpt 파이썬 개발 예제 2

해당 포스팅은 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 개발 결과2

 

위 내용이 만족스러운가?

저렇게 글을 쓰면 블로그 자동화는 커녕, ChatGPT 를 단순 검색정도의 수준으로 밖에 활용하지 못할 것이다.

 

5. ChatGPT 사용법 - 블로그 프롬프트 7가지 에서 제공한 Pre-defined 된 프롬프트를 적용하여, 더 나이스한 결과를 다음 포스팅에서 기대해 본다.