콘텐츠로 이동

대화 히스토리 사용하기

필요한 모듈 설치하기

!pip install openai
!pip install gradio

대화 히스토리를 유지하는 챗봇

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):

    history_openai_format = []

    for human, assistant in history:
        history_openai_format.append({"role": "user", "content": human })
        history_openai_format.append({"role": "assistant", "content":assistant})

    history_openai_format.append({"role": "user", "content": prompt_text})

    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=history_openai_format,
        temperature=1.0,
    )

    response = completion.choices[0].message;
    return response.content

gr.ChatInterface(
    generate_response,
    chatbot=gr.Chatbot(
        height=300, label='홍길동 챗봇입니다.',
    ),
    textbox=gr.Textbox(placeholder="질문을 입력해 주세요", container=False, scale=7),
    title="나의 챗봇",
).launch()          

사과 1개는 100원이야.
사과 10개는 얼마이지?