test / app.py
hjunpark's picture
Update app.py
60a05b6 verified
import gradio as gr
import requests
# GPT-2 λŒ€μ‹  blenderbot-3B λͺ¨λΈ μ‚¬μš©
API_URL = "https://api-inference.huggingface.co/models/facebook/blenderbot-3B"
# μ „μ—­ λ³€μˆ˜λ‘œ API ν‚€ μ €μž₯
api_key_store = {"key": None}
# API ν‚€ μ €μž₯ ν•¨μˆ˜
def set_api_key(api_key):
api_key_store["key"] = api_key
return "βœ… API Key Set Successfully!"
# LLM 질의 ν•¨μˆ˜
def query_llm(message, history):
api_key = api_key_store["key"]
if not api_key:
return "❌ Error: API key is missing. Please enter your Hugging Face API key first."
headers = {"Authorization": f"Bearer {api_key}"}
payload = {"inputs": message}
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
return response.json()[0]["generated_text"]
else:
return f"❌ Error: {response.status_code} - {response.json()}"
# Gradio UI (API ν‚€ μž…λ ₯ + μ±„νŒ…)
with gr.Blocks() as demo:
with gr.Row():
api_key_input = gr.Textbox(label="Hugging Face API Key", placeholder="Enter your API Key here", type="password")
set_key_button = gr.Button("Set API Key")
api_key_output = gr.Textbox(label="Status", interactive=False) # API ν‚€ μƒνƒœ ν‘œμ‹œ
set_key_button.click(set_api_key, inputs=[api_key_input], outputs=[api_key_output])
chatbot = gr.ChatInterface(fn=query_llm)
demo.launch()