Blocks로 연동하기
필요한 모듈 설치하기
!pip install openai
!pip install gradio
Gradio Blocks 템플릿
import gradio as gr
# 응답 생성 함수
def generate_response(prompt_text):
return prompt_text
with gr.Blocks() as demo:
gr.Markdown("### 나의 ChatGPT")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="프롬프트:")
output_text = gr.Textbox(label="ChatGPT 결과", interactive=False)
input_text.submit(generate_response, inputs=input_text, outputs=output_text)
demo.launch()
가장 기본적인 ChatGPT 호출
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": "서울의 위도를 알려줘."}
],
)
response = completion.choices[0].message;
print(response.content)
Gradio Blocks와 ChatGPT의 통합
import gradio as gr
from openai import OpenAI
client = OpenAI()
# 응답 생성 함수
def generate_response(prompt_text):
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": prompt_text}
]
)
response = completion.choices[0].message;
return response.content
with gr.Blocks() as demo:
gr.Markdown("### 나의 ChatGPT")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="프롬프트:")
output_text = gr.Textbox(label="ChatGPT 결과", interactive=False)
input_text.submit(generate_response, inputs=input_text, outputs=output_text)
demo.launch()
제목과 설명 추가
import gradio as gr
from openai import OpenAI
client = OpenAI()
# 응답 생성 함수
def generate_response(prompt_text):
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": prompt_text}
]
)
response = completion.choices[0].message;
return response.content
with gr.Blocks() as demo:
gr.Markdown(
"""
# 홍길동의 AI 화학 전문가
화학에 대해 궁금한 사항이 있으면 질문해 주세요.
""")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="프롬프트:")
output_text = gr.Textbox(label="ChatGPT 결과", interactive=False)
input_text.submit(generate_response, inputs=input_text, outputs=output_text)
demo.launch()
응답 창 크기 조절 (10칸 크기)
import gradio as gr
from openai import OpenAI
client = OpenAI()
# 응답 생성 함수
def generate_response(prompt_text):
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": prompt_text}
]
)
response = completion.choices[0].message;
return response.content
with gr.Blocks() as demo:
gr.Markdown(
"""
# 홍길동의 AI 화학 전문가
화학에 대해 궁금한 사항이 있으면 질문해 주세요.
""")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="프롬프트:")
output_text = gr.Textbox(label="ChatGPT 결과", interactive=False, lines=10)
input_text.submit(generate_response, inputs=input_text, outputs=output_text)
demo.launch()