[실전! GPT 챗봇2] GPT 테스트와 챗봇 흐름 완성

✅ 테스트: 우리 GPT에게 말을 걸어보자!

지금까지 프롬프트 설계 파일 prompt_engine.py까지 잘 만들었다면,
이제 진짜로 GPT 비서가 응답하는 걸 확인해볼 차례야!

📁 test_chat_gpt.py 생성

아래 코드를 통째로 복사해서 test_chat_gpt.py라는 이름으로 저장해줘.
이 코드는 openai 최신 버전 1.0.0 이상에 맞춰 수정된 버전이야!

from openai import OpenAI
from config import API_KEY
from prompt_engine import build_prompt

# OpenAI 클라이언트 인스턴스 생성
client = OpenAI(api_key=API_KEY)

# 테스트용 사용자 메시지
user_message = "청약은 뭐예요?"
prompt = build_prompt(user_message)

# GPT API 호출
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "너는 친절한 어린이 GPT 상담 비서야."},
        {"role": "user", "content": prompt}
    ],
    temperature=0.7
)

# 결과 출력
print("GPT 비서의 답변:\n", response.choices[0].message.content)
💡 알파의 팁: 이 코드는 openai==1.0.0 이상 버전용이야.
혹시 구버전 사용 중이라면 pip uninstall openai
pip install openai로 최신화해줘!
💻 실행 방법

이제 PowerShell 또는 명령어 프롬프트에서 아래 명령어로 실행해보자:

python test_chat_gpt.py
GPT 비서의 답변:
안녕하세요! 청약은 말이죠~ 😊

🥳 자, 이렇게 해서 **실제 GPT 비서가 응답하는 테스트 코드까지 완성!**
이제 다음 장에서는 본격적으로 샘플 질문들을 만들고 대화 시나리오를 확장해볼 거야!

 

그전에 알고 있니 ㅠㅠ 열심히 적어서 실행했더니 안되는거야 그사이 구버전이랑 달라졌데 그래서 새로 적었다는 고샘의 불평 전설을~~~

원래 고샘은 리눅스 서버에서 작업을 하는데 요번에 여러분들과 함께 하려고 윈도에서 하고 있어 아 뭐이리 설치 하라는게 많은지

고샘이 빠트렸는게 있는데 정리 해보께

 

 

 

 

 

📦 필수 라이브러리 설치

이제 GPT랑 제대로 대화하려면 필요한 라이브러리를 먼저 설치해야 해요.
아래 명령어를 PowerShell 또는 터미널에 입력해줘요:

pip install openai python-dotenv
💡 고샘의 잔소리 타임:
혹시 'openai' 모듈이 없다고 에러가 나면? 혹시 dotenv가 없다고 뜨면?
👉 이거 안 해서 그래요. 꼭 설치해줘야 해요!!

 

🎯 2장 마무리 - 이제 진짜로 시작이다!

라이브러리 설치가 완료되면 test_chat_gpt.py를 실행해서 비서와 대화해보자구요~ 🧠✨

안되요??? (venv) PS C:\Users\jeimsko\workspace\my_gpt_kid_assisant> 가상환경에서 입력하세요!

가상환경 실행 명령어 잊었나요? 위에 있어요.. ㅋㅋ venv\Scripts\activate 이것임


💬 고샘 실행 결과 예시

(venv) PS C:\Users\********\workspace\my_gpt_kid_assisant> python test_chat_gpt.py
GPT 비서의 답변:
안녕! 청약은 은행이나 보험회사와 같은 곳에 돈을 넣어 두고 나중에 필요할 때 사용할 수 있는 돈을 모으는 것이야.
예를 들어, 너가 매달 용돈을 적금에 넣는다면, 나중에 큰 돈이 필요할 때 그 돈을 꺼내 쓸 수 있어.
즉, 청약은 미래를 위해 돈을 저축해두는 것이라고 생각하면 돼! 너무 멋져서 용기를 주고 싶어! 함께 잘할 수 있을 거야.😊🌟

🤔 근데 요즘은 신규 가입해도 크레딧 주는지 알 수 없어!

고샘은 플러스 회원이라서 API 토큰이 있어요.

그래서 여기서부터는 두 가지 프로젝트 분기로 설명할게요:

  • Option 1: OpenAI API 그대로 사용하는 방식
  • Option 2: 무료 경량 LLM (Local GPT 등) 사용하는 방식

우리 학습용 GPT 비서 만들기에는 둘 다 충분해요!


🎉 GPT 비서 완성 선언!

위의 답변을 보면 알듯이 GPT 비서 만드는 건 여기까지면 끝이야.

“뭐? 이게 다야?” ㅋㅋㅋ 그래, 예제처럼 질문 → 답변 구조면 바로 GPT 비서야.

실제 사용에선 채팅 프로그램 + Open API 연결해서 화면에 보여주기만 하면 완성!


🏁 이제 마무리! 결과를 내는 시간이야!

손가락 아프다? 그래도 그냥 끝낼 순 없어!

그래서 지금부터는 간단한 채팅 UI + GPT 연결 마무리까지만 더 달려보자~

자~~ 지금부터는 빠르게 갈 거야 💨 전달할 건 다 전달했으니, 이제 결과를 내보자구!

🔥 열심히 Ctrl + C, Ctrl + V 하면서 고샘 스타일로 끝까지 달려보자!

 

 

 

✅ 3강: GPT 비서 핵심 모듈 만들기

어린이 GPT 만들기 실전편, 지금부터 진짜 코드로 다져보자!

🌱 1단계: 공통 UI chat_ui.py


# chat_ui.py

def get_user_input():
    user_input = input("👤 질문하세요: ")
    return user_input

def show_gpt_response(response):
    print("🤖 GPT 응답:", response)

💡 고샘 한마디: 심플이 최고다. 모든 GPT 호출은 여기로 모인다. 나중에 Vue 프론트 붙일 때도 이걸 바탕으로 확장하면 된다!

🔑 2단계: OpenAI 연동 openai_client.py


# openai_client.py

import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")

def ask_openai(question):
    try:
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "너는 친절한 어린이 GPT 비서야."},
                {"role": "user", "content": question}
            ],
            temperature=0.7
        )
        return response.choices[0].message["content"]
    except Exception as e:
        return f"에러 발생: {e}"

👉 .env 설정 예시:


OPENAI_API_KEY=sk-여기에-너의-진짜키

🧠 3단계: LM Studio 연동 lmstudio_client.py


# lmstudio_client.py

import requests

def ask_lmstudio(question):
    try:
        url = "http://localhost:1234/v1/chat/completions"
        headers = {"Content-Type": "application/json"}
        data = {
            "model": "lmstudio",
            "messages": [
                {"role": "system", "content": "너는 친절한 어린이 GPT 비서야."},
                {"role": "user", "content": question}
            ]
        }
        response = requests.post(url, headers=headers, json=data)
        return response.json()["choices"][0]["message"]["content"]
    except Exception as e:
        return f"에러 발생: {e}"

⚠️ 주의: LM Studio를 실행한 뒤, API 서버가 켜져 있어야 작동해!
좌측 상단에서 Settings → API Access 체크 필수!