|
import gradio as gr |
|
import requests |
|
|
|
|
|
API_URL = "https://api-inference.huggingface.co/models/facebook/blenderbot-3B" |
|
|
|
|
|
api_key_store = {"key": None} |
|
|
|
|
|
def set_api_key(api_key): |
|
api_key_store["key"] = api_key |
|
return "β
API Key Set Successfully!" |
|
|
|
|
|
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()}" |
|
|
|
|
|
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) |
|
set_key_button.click(set_api_key, inputs=[api_key_input], outputs=[api_key_output]) |
|
|
|
chatbot = gr.ChatInterface(fn=query_llm) |
|
|
|
demo.launch() |
|
|