Patelcoder commited on
Commit
4e04e84
·
verified ·
1 Parent(s): daee1d5

Update index.html

Browse files

Add OpenAI agent code

Files changed (1) hide show
  1. index.html +58 -54
index.html CHANGED
@@ -1,57 +1,61 @@
1
  <!DOCTYPE html>
2
  <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>Gradio-Lite: Serverless Gradio Running Entirely in Your Browser</title>
7
- <meta name="description" content="Gradio-Lite: Serverless Gradio Running Entirely in Your Browser">
8
-
9
- <script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@gradio/lite/dist/lite.js"></script>
10
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@gradio/lite/dist/lite.css" />
11
-
12
- <style>
13
- html, body {
14
- margin: 0;
15
- padding: 0;
16
- height: 100%;
17
- }
18
- </style>
19
- </head>
20
- <body>
21
- <gradio-lite>
22
- <gradio-file name="app.py" entrypoint>
23
- import gradio as gr
24
-
25
- from filters import as_gray
26
-
27
- def process(input_image):
28
- output_image = as_gray(input_image)
29
- return output_image
30
-
31
- demo = gr.Interface(
32
- process,
33
- "image",
34
- "image",
35
- examples=["lion.jpg", "logo.png"],
36
- )
37
-
38
- demo.launch()
39
- </gradio-file>
40
-
41
- <gradio-file name="filters.py">
42
- from skimage.color import rgb2gray
43
-
44
- def as_gray(image):
45
- return rgb2gray(image)
46
- </gradio-file>
47
-
48
- <gradio-file name="lion.jpg" url="https://raw.githubusercontent.com/gradio-app/gradio/main/gradio/test_data/lion.jpg" />
49
- <gradio-file name="logo.png" url="https://raw.githubusercontent.com/gradio-app/gradio/main/guides/assets/logo.png" />
50
-
51
- <gradio-requirements>
52
- # Same syntax as requirements.txt
53
- scikit-image
54
- </gradio-requirements>
55
- </gradio-lite>
56
- </body>
 
 
 
 
57
  </html>
 
1
  <!DOCTYPE html>
2
  <html>
3
+ <head>
4
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@gradio/lite@5/dist/lite.js"></script>
5
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@gradio/lite@5/dist/lite.css" />
6
+ </head>
7
+ <body>
8
+ <gradio-app requirements="openai">
9
+ import gradio as gr
10
+ from openai import OpenAI
11
+
12
+ def run_descriptor_agent(openai_key, user_prompt):
13
+ if not openai_key:
14
+ return "Please enter your OpenAI API Key first!"
15
+
16
+ try:
17
+ # Initialize the OpenAI client inside the browser-lite environment
18
+ client = OpenAI(api_key=openai_key)
19
+
20
+ # Simple agent/LLM descriptor call
21
+ response = client.chat.completions.create(
22
+ model="gpt-4o-mini",
23
+ messages=[
24
+ {"role": "system", "content": "You are a professional AI Descriptor agent. Provide structured, clear summaries and descriptions based on user requests."},
25
+ {"role": "user", "content": user_prompt}
26
+ ]
27
+ )
28
+ return response.choices[0].message.content
29
+ except Exception as e:
30
+ return f"Error: {str(e)}"
31
+
32
+ # Define a clean Gradio Blocks Interface
33
+ with gr.Blocks() as demo:
34
+ gr.Markdown("# AI Descriptor Agent")
35
+
36
+ with gr.Row():
37
+ key_input = gr.Textbox(
38
+ label="1. Enter your OpenAI API Key",
39
+ placeholder="sk-proj-...",
40
+ type="password"
41
+ )
42
+
43
+ with gr.Row():
44
+ prompt_input = gr.Textbox(
45
+ label="2. Ask the Agent anything",
46
+ placeholder="Describe what you want me to analyze..."
47
+ )
48
+
49
+ submit_btn = gr.Button("Run Agent", variant="primary")
50
+ output_text = gr.Textbox(label="Agent Response", interactive=False)
51
+
52
+ submit_btn.click(
53
+ fn=run_descriptor_agent,
54
+ inputs=[key_input, prompt_input],
55
+ outputs=output_text
56
+ )
57
+
58
+ demo.launch()
59
+ </gradio-app>
60
+ </body>
61
  </html>