콘텐츠로 이동

ChatInterface로 연동하기

필요한 모듈 설치하기

!pip install openai
!pip install gradio

ChatInterface 템플릿

import gradio as gr

def generate_response(prompt_text, history):
    return prompt_text

gr.ChatInterface(generate_response, title="나의 챗봇").launch() 

ChatInterface와 ChatGPT 합치기

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):
    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "user", "content": prompt_text}
        ]
    )

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

gr.ChatInterface(generate_response, title="나의 챗봇").launch() 

챗봇 창과 프롬프트 입력창 지정하기

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):
    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "user", "content": prompt_text}
        ]
    )

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

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

챗봇 창에 설명 달기

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):
    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "user", "content": prompt_text}
        ]
    )

    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()  

챗봇 디자인 테마 설정 및 설명 추가

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):
    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "user", "content": prompt_text}
        ]
    )

    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="나의 챗봇",
    description="화학 분야에 대한 전문 챗봇입니다.",
    theme="soft",
).launch()      

챗봇 창에 placeholder 지정

import gradio as gr
from openai import OpenAI

client = OpenAI()

def generate_response(prompt_text, history):
    completion = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "user", "content": prompt_text}
        ]
    )

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

gr.ChatInterface(
    generate_response,
    chatbot=gr.Chatbot(
        height=300, label='홍길동 챗봇입니다.',
        placeholder='저는 화학 전문가입니다. 무엇이든 물어 보세요.'
    ),
    textbox=gr.Textbox(placeholder="질문을 입력해 주세요", container=False, scale=7),
    title="나의 챗봇",
    description="화학 분야에 대한 전문 챗봇입니다.",
    theme="soft",
).launch()