File size: 901 Bytes
9392ded
 
 
 
5111244
 
9392ded
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6258303
c60bb58
9392ded
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gradio as gr
from litellm import completion
import os

os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")

def route_llm_request(model, messages, api_key):
    # Verify the class API key
    if api_key != "your-class-key":
        return "Invalid API key"
    
    try:
        response = completion(
            model=model,
            messages=[{"role": "user", "content": messages}],

        )
        return response.choices[0].message.content
    except Exception as e:
        return f"Error: {str(e)}"

# Simple interface
iface = gr.Interface(
    fn=route_llm_request,
    inputs=[
        gr.Dropdown(
            [
             "gpt-4.1", 
             # "gemini-2.0-flash"
             ]
            , label="Model"),
        gr.Textbox(label="Message"),
        gr.Textbox(label="API Key", type="password")
    ],
    outputs="text",
    api_name="chat" 
)

iface.launch()