test0707 / app.py
yoon2566's picture
Create app.py
6ea468f verified
# 합쳐진 μ…€
import os
from dotenv import load_dotenv
from openai import OpenAI
import requests
import gradio as gr
load_dotenv()
aaa = os.getenv("URL")
if not aaa:
raise ValueError("ν™˜κ²½ λ³€μˆ˜κ°€ μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.")
# OpenAI API ν‚€ μ„€μ • (ν•„μš”ν•˜λ‹€λ©΄ 여기에 μ„€μ •)
# os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY" # 이미 μ„€μ •λ˜μ–΄ μžˆλ‹€λ©΄ 이 쀄은 ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.
client = OpenAI()
def get_and_summarize_data():
"""
데이터λ₯Ό 가져와 OpenAIλ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ•½ν•˜λŠ” ν•¨μˆ˜
"""
url = aaa
response = requests.get(url)
data_text = response.text
prompt = f"""
λ‹€μŒ λ‚΄μš©μ„ μš”μ•½ν•˜κ³  보기 쒋도둝 쀄 λ°”κΏˆμ„ μ μš©ν•˜μ—¬ 좜λ ₯ν•΄μ€˜ λ‚΄μš©:
{data_text}
"""
openai_response = client.responses.create(
model="gpt-4.1-nano", # gpt-4.1-nano λͺ¨λΈμ΄ μœ νš¨ν•œ λͺ¨λΈμΈμ§€ 확인 ν•„μš”
input=prompt
)
return openai_response.output_text
# Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ •
def gradio_interface():
summarized_data = get_and_summarize_data()
return summarized_data
demo = gr.Interface(
fn=gradio_interface,
inputs=[], # μž…λ ₯을 λ°›μ§€ μ•Šκ³  ν•¨μˆ˜ μ‹€ν–‰
outputs=["text"], # μš”μ•½λœ ν…μŠ€νŠΈ 좜λ ₯
title="데이터 μš”μ•½ κ²°κ³Ό"
)
# Gradio μΈν„°νŽ˜μ΄μŠ€ μ‹€ν–‰
demo.launch()