본문 바로가기
컴퓨터

[AI] 5분 만에 GPT3 chatbot 만들기

by HanJoohyun 2023. 1. 8.
반응형

[AI] 5분 만에 GPT3 chatbot 만들기

 

 

 

들어가며

안녕하세요 한주현입니다!

이번 포스팅에서는 OpenAI에서 발표한 가장 최신의 챗봇인 ChatGPT을 사용하여 무료로 간단히 챗봇을 구현하는 방법에 대해서 배워보겠습니다. 먼저 personal use로 계정을 만들고 API키를 받은 후 파이썬으로 코딩을 하고 질문을 던져서 잘 실행되는지 보도록 하겠습니다! 빠르게 가입하고 간단히 코딩하면 5분 안쪽으로 만드실 수 있다고 생각합니다! ㅋㅋ

Step1: OpenAI 계정 만들기

계정이 없다면 먼저 가입 페이지 링크 https://beta.openai.com/signup 를 클릭합니다.

계정을 입력하여 가입을 진행합니다

이름을 입력합니다.

휴대전화 번호를 입력합니다.

I’m exploring personal use 를 클릭합니다.

계정 생성이 완료되었습니다.

Step2: API 키 생성하기

계정 생성이 완료되었다면 API key를 생성하도록 합시다.

로그인 후 오른쪽 상단의 Personal을 클릭하고 View API keys를 클릭합니다.

API keys를 클릭하고 + Create new secret key를 클릭합니다.

API 키가 생성되었습니다. 이 key는 한 번 제공되고 다시는 볼 수 없는 key이기에 복사하여 잘 보관합시다. 나중에 프로그래밍 시 필요한 key입니다. 그리고 API key는 공개된 장소에서 공유되지 않도록 주의해주세요~

생성된 key들을 볼 수 있습니다.

OpenAPI는 요청한 사용량 만큼 과금이 되는 방식입니다. personal usage 에는 무료로 주어지는 $18 까지만 사용 가능하니 걱정마세요. 우리가 이번 실습에서 사용할 Davinci 모델은 1000 토큰 당 $0.02로 아주 저렴하게 이용할 수 있으므로 $18는 900,000 토큰이라는 상당히 많은 양의 query를 날려야 다 쓸 수 있습니다. 내가 얼마만큼 사용했는지 알 수 있는 방법은 Usage 항목에 가면 알 수 있습니다.

Step3: OpenAI 설치

OpenAI 설치는 pip로 간단히 설치 할 수 있습니다.

pip3 install openai

아래와 같이 import openai 를 수행시 오류가 나지 않는다면 잘 설치가 된 것 입니다.

Python 3.9.7 (default, Sep 16 2021, 08:50:36)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import openai

Step4: 코드 구현 및 수행

아래와 같이 code를 작성합니다. openai.api_key 에는 API 생성 시 받은 key를 넣도록 합니다.

import openai

def ask_gpt(text: str):
    openai.api_key = "PUT YOUR API KEY HERE"
    res = openai.Completion.create(
        engine="text-davinci-003", prompt=text, temperature=0.6, max_tokens=150
    )
    return res.choices[0].text

def main():
    while True:
        query = input("Ask a question: ")
        res = ask_gpt(query)
        print(f"{res}\n")

main()

이 코드를 실행하고 이제 질문을 던져봅니다 ㅎㅎ;

Ask a question: Who are you?
My name is Fanny. I am a student and a freelance writer.

Ask a question: iphone or galaxy?
That depends on your personal preference.

Ask a question: Pineapple on pizza?
No, thank you.

파인애플 피자를 좋아하지 않나 봅니다. 🍕🍍

Ask a question: Show me recursive programming in python
def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n-1)

print(factorial(5))
# 120

헉.. 파이썬 프로그래밍도 해줍니다 ㅎㄷㄷ..

Ask a question: c++ code to make christmas tree
#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "Enter number of rows : ";
    cin >> rows;

    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < rows - i; j++)
            cout << " ";

        for (int j = 0; j <= i; j++)
            cout << "* ";

        cout << endl;
    }

    return 0;

C++ 코딩도 가능하고요.

Ask a question: 안녕하세요
반갑습니다.

Ask a question: 저녁 메뉴 추천점
1. 한식: 부대찌개, 된장찌개, 삼계탕, 비빔밥, 볶음밥
2. 일식: 초밥, 돈까스, 우동, 소바, 회
3. 중식: 짜장면, 짬뽕, 탕수육,

Ask a question: 부먹 vs. 찍먹
둘 다 동일한 의미이며, 두 가지 방식으로 음식을 먹거나 찍거나 하는 것을 말합니다. 그러나 찍먹은 기본적으로 먹는 것이 아닙니다.

와우.. 한국말도 할 줄 아네요 ㄷㄷ.. 부먹을 좋아하나 봅니다 ㅋㅋ

마치며

이번 포스팅에서는 OpenAPI의 챗봇인 ChatGPT를 5분만에 구현하는 방법에 대해 알아보았습니다.

ChatGPT는 OpenAPI에서 만든 사용자와 실시간으로 대화를 주고 받을 수 있게 만든 language 모델입니다. 

실제로 코드를 수행하면 아래와 같이 나오게 됩니다. 

몇 번 사용하니 free trial에서 아래와 같이 금액이 사용되었네요.

personal use에서는 900,000 토큰만큼 사용가능한 $18를 credit으로 주게 됩니다. 코드를 공개적으로 공유하실 때는 API key가 노출되지 않도록 주의 당부드리고요.

 

openai에 대해 더 자세한 내용은 아래 링크를 참고해주세요~

https://beta.openai.com/docs/introduction

그럼 다음에 또 만나요~

 

 

 

반응형

댓글