뒤로
구현우학부생
구현우학부생 ·

OpenAI API 사용 방법(2)-예제


url thumbnail

OpenAI

Introducing GPT-4, OpenAI’s most advanced system

https://openai.com/

ChatGPT API를 사용하기 위해서는 OpenAI 홈페이지에 들어오셔서 Developers에 Documentation를 클릭합니다. 


왼쪽 GET STARTED에서 Libraries로 들어갑니다. 여기서 openai Python library를 사용하는 방법에 대해서 나와있습니다. 


Python library란, Python 프로그래밍 언어를 이용하여 개발할 때 사용할 수 있는 여러 모듈과 함수들을 모아 놓은 모음집입니다. 라이브러리를 사용하면 개발자는 자신이 직접 작성하지 않아도 되는 다양한 기능들을 쉽게 활용할 수 있습니다. 



이를 Vscode를 열어 실습해 보았습니다.

파드라는 폴더를 미리 만들어 주세요.


Vscode에서 '파드'라는 폴더를 열어주세요.


안에 openai라는 폴더를 만들고 그 안에 play_with_openai.py라는 파일을 만들어 줍니다.

빨간색 네모 안에 오른쪽 아이콘으로 폴더를 만들기, 왼쪽 아이콘으로 파일을 만들어 줍니다.


먼저, Terminal을 열고 아래 입력을 통해 파이썬 라이브러리 사용이 가능하도록 합니다. 

pip install openai


그 다음 우리는 아래 코드를 사용해서 간단한 실습을 해보겠습니다.

실습: 한동대 드롭탑 카페 AI 직원


위의 코드는 Python으로 작성된 대화형 AI 모델과 상호작용하는 간단한 대화 시스템입니다.

  1. import os: os 모듈을 가져옵니다. 이 모듈은 운영체제와 상호작용하기 위해 사용됩니다.
  2. import openai: OpenAI Python 라이브러리를 가져옵니다. 이 라이브러리를 사용하여 GPT-3.5 모델과 상호작용합니다.
  3. def ask(text): ask 함수를 정의합니다. 이 함수는 사용자의 입력에 따라 모델에 질문을 하고 모델의 응답을 반환합니다.
  4. user_input = {"role": "user", "content": text}: 사용자의 입력을 나타내는 딕셔너리를 생성합니다.
  5. messages.append(user_input): messages 리스트에 사용자 입력을 추가합니다.
  6. response = openai.ChatCompletion.create(...): OpenAI의 ChatCompletion API를 사용하여 모델에 대화를 요청합니다. messages 리스트를 전달하여 대화의 이전 메시지들과 현재 메시지를 모델에 전달합니다.
  7. bot_text = response['choices'][0]['message']['content']: 모델의 응답에서 챗봇의 텍스트를 추출합니다.
  8. bot_resp = {"role": "assistant", "content": bot_text}: 챗봇의 응답을 나타내는 딕셔너리를 생성합니다.
  9. messages.append(bot_resp): messages 리스트에 챗봇의 응답을 추가합니다.
  10. return bot_text: 챗봇의 응답을 반환합니다.
  11. openai.api_key = "...": OpenAI API 키를 설정합니다. 이 키는 OpenAI API를 사용하기 위해 발급받아야 합니다.
  12. system_instruction = """...""": 시스템 메시지로, 사용자에게 어떤 역할을 하는지와 가능한 메뉴를 설명합니다.
  13. messages = [{"role": "system", "content": system_instruction}]: messages 리스트에 시스템 메시지를 추가합니다.
  14. while True: ...: 사용자로부터 입력을 받고, ask 함수를 사용하여 챗봇의 응답을 얻어 출력합니다.

이 코드는 대화형 AI 시스템을 만들기 위해 OpenAI의 GPT-3.5 모델을 사용하는 기본적인 틀을 제공합니다. 사용자는 입력을 제공하고 챗봇은 모델을 통해 응답을 생성합니다. (Answered by ChatGPT)


  1. 코드 설명:
  2. 한동대학교 드롭탑 카페 AI 직원과 사용자가 대화를 하는 간단한 프로그램이다.
  3. 먼저 ‘os, openai’ 라이브러리를 import한다.
  4. openai에서 발급 받은 api key를 따옴표 안에 넣어줍니다.
  5. system_instruction을 먼저 정의해 줍니다.
  6. 쉽게 설명하면 AI가 어떤 역할을 맡아야 하는지 정의해주는 부분입니다.
  7. 구체적으로 정의하면 할 수록 정확한 답변을 받을 수 있습니다.
  8. 앞에서 정의된 system_instruction를 그 역할(system)과 함께 messages라는 리스트에 넣습니다.
  9. while문으로 무한 반복해서 system과 user가 대화를 주고받도록 합니다.
  10. input()으로 사용자의 질문을 받아서 ask(text)라는 함수에 질문을 파라미터로 넣습니다.
  11. 그럼 그 역할(user)과 내용을 함께 messages에 넣습니다.
  12. 그럼 model="gpt-3.5-turbo"이 만들어진 messages를 분석해서 질문에 대한 최적의 답변을 찾아냅니다. 이를 response에 저장해 두고, 이를 사용자에게 보입니다.
import os 
import openai 
def ask(text): 
    user_input = {"role": "user", "content": text} 
    messages.append(user_input) 
    
    response = openai.ChatCompletion.create( 
      model="gpt-3.5-turbo", 
      messages=messages) 
    
    bot_text = response['choices'][0]['message']['content'] 
    bot_resp = {"role": "assistant", "content": bot_text} 
    messages.append(bot_resp) 
    return bot_text 

# Load your API key from an environment variable or secret management service 
openai.api_key = "여기에 발급받은 api key를 넣어주세요:)" 

system_instruction = """ 
너는 한동대학교 드롭탑 카페 AI 직원이야. 
아래는 카페 음료 종류야. 
아래 종류의 음료 말고는 다른 음료는 없어 

- 아메리카노 
- 라떼 
- 스무디 

위의 메뉴 말고는 없다고 생각하면돼 
""" 
messages = [{"role": "system", "content": system_instruction}] 

while True: 
    user_input = input("user input: ") 
    bot_resp = ask(user_input) 
    
    print("-"*30) 
    print(f"user_input: {user_input}") 
    print(f"bot_resp: {bot_resp}")

  1. 실행 예시:

PARD_CLUB 그룹의 글
7

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.