파이썬 AI 실습/나만의 AI챗봇 만들기(API버전)

나만의 AI챗봇만들기(API버전) - 3. AI챗봇 : 계속 질문하기

파기차차 2024. 7. 31. 23:54
728x90
반응형
SMALL

ㅁ 개요

 

O 프로젝트 소개

 

 

 - 이번 글은 이전글(나만의 AI챗봇만들기(API버전) - 2.AI챗봇 : 한국어 버전 만들기)에 이은 4번째 글로 이전 프로그램을 실행하면 AI챗봇에게 질문/대답이 1회로 끝이나는데, 이를 계속해서 AI챗봇과 대화를 할 수 있도록 개선하는 방법을 알아 보겠습니다.

 

 

O 완성된 프로그램 실행 화면

 

 

 - 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

 

1. 3.py 실행 시 이번에는 내가 직접 질의를 할 수 있도록 프로그램이 개선되었으며, 질문에 대한 대답을 AI챗봇이 잘 수행하고 있는 것을 볼 수 있습니다.

 

 


 

ㅁ 세부 내용

 

O 완성된 소스

 

소스파일 : 3.py

 

from config import *
from groq import Groq
import time

# client = Groq(
#     api_key=os.environ.get("GROQ_API_KEY"),
# )


print("AI챗봇을 종료하려면 'bye'를 입력하세요.\n")


while True:

    prompt = input("궁금하신 점을 질문을 해주세요 : ")  ############### input로 질문받기#######################

    if prompt == 'bye':
        print("AI챗봇을 종료합니다.")
        break


    client = Groq(
        api_key=GROQ_API_KEY,
    )

    chat_completion = client.chat.completions.create(
        messages=[
            { 
                "role": "system",
                "content": "모든 응답은 한국어로 작성해 주세요.",
            },
            {
                "role": "user",
                "content": prompt,
            }
        ],
        model="gemma-7b-it",
        # model="llama3-groq-8b-8192-tool-use-preview",
    )

    print(chat_completion.choices[0].message.content)
    print("\n============================================================\n")

    time.sleep(1)

 

 

 

 

O 소스 실행 방법

 
 
 - 소스파일 다운로드 후 cmd 또는 파워쉘 등에서 아래와 같이 실행하시기 바랍니다.
 
 > python 3.py

 


 
 

O 주요 내용

 

아래 소스코드에 대한 주요 내용만 설명하겠습니다.

 

 

소스 파일 : 3.py

 

line 7 : AI챗봇에게 계속해서 질의 할 수 있도록 while문을 사용하고 있습니다.

line 8 : 사용자가 질의를 직접 할 수 있도록 input()을 사용하여 프롬프트 합니다.

line 10~12 : 프롬프트에 'bye'가 입력되면 프로그램을 종료합니다.

line 23~26 : 위에서 질의한 질문을 담고 있는 prompt변수를 content에 할당합니다.

line 28 : llm 모델을 이전글과 다른 모델을 사용해 보았습니다.

 

 

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘은 이전 프로그램을 실행 시 AI챗봇에게 질문/대답이 1회로 끝이나는데, 이를 계속해서 AI챗봇과 대화를 할 수 있도록 하는 방법을 알아 보았습니다.
 
 

 

오늘은 여기까지이며, 위의 내용이 유익하셨다면, 광고 한번씩만 클릭 부탁드립니다.

 

 

감사합니다.

728x90
반응형
LIST