Spaces:
Build error
Build error
acecalisto3
commited on
Commit
•
7d4516a
1
Parent(s):
3dcb660
Update app.py
Browse files
app.py
CHANGED
@@ -4,6 +4,8 @@ import random
|
|
4 |
import json
|
5 |
from datetime import datetime
|
6 |
import gradio as gr # Corrected import for gradio
|
|
|
|
|
7 |
|
8 |
class App(gr.Blocks): # Corrected class inheritance
|
9 |
def __init__(self):
|
@@ -19,11 +21,49 @@ class App(gr.Blocks): # Corrected class inheritance
|
|
19 |
"description": "A clickable button",
|
20 |
"code_snippet": "gr.Button(value='{{label}}', variant='primary')"
|
21 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
# ... Other component definitions
|
23 |
}
|
24 |
self.nlp_model_names = [
|
25 |
"google/flan-t5-small",
|
26 |
-
#
|
|
|
|
|
|
|
27 |
]
|
28 |
self.nlp_models = []
|
29 |
# self.initialize_nlp_models() # Moved to run() for Gradio
|
@@ -34,7 +74,7 @@ class App(gr.Blocks): # Corrected class inheritance
|
|
34 |
try:
|
35 |
# Assuming the use of transformers library for NLP models
|
36 |
from transformers import pipeline
|
37 |
-
model = pipeline('text-generation', model=nlp_model_name)
|
38 |
self.nlp_models.append(model)
|
39 |
except Exception as e:
|
40 |
print(f"Failed to load model {nlp_model_name}: {e}")
|
@@ -43,7 +83,7 @@ class App(gr.Blocks): # Corrected class inheritance
|
|
43 |
def get_nlp_response(self, input_text, model_index):
|
44 |
if self.nlp_models[model_index]:
|
45 |
response = self.nlp_models[model_index](input_text)
|
46 |
-
return response[0]['generated_text']
|
47 |
else:
|
48 |
return "NLP model not available."
|
49 |
|
@@ -122,7 +162,36 @@ class App(gr.Blocks): # Corrected class inheritance
|
|
122 |
return self.get_help_message()
|
123 |
else:
|
124 |
return "Unknown command. Type 'get_help_message' for available commands."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
def run(self):
|
127 |
self.initialize_nlp_models() # Initialize NLP models here
|
128 |
with gr.Blocks() as demo:
|
|
|
4 |
import json
|
5 |
from datetime import datetime
|
6 |
import gradio as gr # Corrected import for gradio
|
7 |
+
import requests
|
8 |
+
from bs4 import BeautifulSoup
|
9 |
|
10 |
class App(gr.Blocks): # Corrected class inheritance
|
11 |
def __init__(self):
|
|
|
21 |
"description": "A clickable button",
|
22 |
"code_snippet": "gr.Button(value='{{label}}', variant='primary')"
|
23 |
},
|
24 |
+
"Textbox": {
|
25 |
+
"properties": {
|
26 |
+
"label": "Enter text here...",
|
27 |
+
"lines": 1
|
28 |
+
},
|
29 |
+
"description": "A simple textbox for user input.",
|
30 |
+
"code_snippet": "gr.Textbox(label='{{label}}', lines={{lines}})"
|
31 |
+
},
|
32 |
+
"Slider": {
|
33 |
+
"properties": {
|
34 |
+
"label": "Adjust the slider:",
|
35 |
+
"minimum": 0,
|
36 |
+
"maximum": 100,
|
37 |
+
"value": 50
|
38 |
+
},
|
39 |
+
"description": "A slider for selecting a value within a range.",
|
40 |
+
"code_snippet": "gr.Slider(label='{{label}}', minimum={{minimum}}, maximum={{maximum}}, value={{value}})"
|
41 |
+
},
|
42 |
+
"Dropdown": {
|
43 |
+
"properties": {
|
44 |
+
"label": "Select an option:",
|
45 |
+
"choices": ["Option 1", "Option 2", "Option 3"],
|
46 |
+
"value": "Option 1"
|
47 |
+
},
|
48 |
+
"description": "A dropdown menu for selecting from a list of options.",
|
49 |
+
"code_snippet": "gr.Dropdown(label='{{label}}', choices={{choices}}, value='{{value}}')"
|
50 |
+
},
|
51 |
+
"Image": {
|
52 |
+
"properties": {
|
53 |
+
"label": "Upload an image:",
|
54 |
+
"type": "file"
|
55 |
+
},
|
56 |
+
"description": "An image component for displaying images.",
|
57 |
+
"code_snippet": "gr.Image(label='{{label}}', type='{{type}}')"
|
58 |
+
}
|
59 |
# ... Other component definitions
|
60 |
}
|
61 |
self.nlp_model_names = [
|
62 |
"google/flan-t5-small",
|
63 |
+
"facebook/bart-large-cnn", # Summarization
|
64 |
+
"gpt2", # Text Generation
|
65 |
+
"distilbert-base-uncased-finetuned-sst-2-english" # Sentiment Analysis
|
66 |
+
# ... Other NLP model names from Hugging Face
|
67 |
]
|
68 |
self.nlp_models = []
|
69 |
# self.initialize_nlp_models() # Moved to run() for Gradio
|
|
|
74 |
try:
|
75 |
# Assuming the use of transformers library for NLP models
|
76 |
from transformers import pipeline
|
77 |
+
model = pipeline('text-generation', model=nlp_model_name) # Adjust pipeline task if needed
|
78 |
self.nlp_models.append(model)
|
79 |
except Exception as e:
|
80 |
print(f"Failed to load model {nlp_model_name}: {e}")
|
|
|
83 |
def get_nlp_response(self, input_text, model_index):
|
84 |
if self.nlp_models[model_index]:
|
85 |
response = self.nlp_models[model_index](input_text)
|
86 |
+
return response[0]['generated_text'] # Adjust response extraction if needed
|
87 |
else:
|
88 |
return "NLP model not available."
|
89 |
|
|
|
162 |
return self.get_help_message()
|
163 |
else:
|
164 |
return "Unknown command. Type 'get_help_message' for available commands."
|
165 |
+
def execute_code(self, code):
|
166 |
+
try:
|
167 |
+
exec(code)
|
168 |
+
except Exception as e:
|
169 |
+
return f"Error executing code: {e}"
|
170 |
+
return "Code executed successfully"
|
171 |
+
|
172 |
+
def read_file(self, file_path):
|
173 |
+
try:
|
174 |
+
with open(file_path, 'r') as file:
|
175 |
+
content = file.read()
|
176 |
+
return content
|
177 |
+
except Exception as e:
|
178 |
+
return f"Error reading file: {e}"
|
179 |
|
180 |
+
def write_file(self, file_path, content):
|
181 |
+
try:
|
182 |
+
with open(file_path, 'w') as file:
|
183 |
+
file.write(content)
|
184 |
+
return "File written successfully"
|
185 |
+
except Exception as e:
|
186 |
+
return f"Error writing to file: {e}"
|
187 |
+
|
188 |
+
def fetch_web_content(self, url):
|
189 |
+
response = requests.get(url)
|
190 |
+
if response.status_code == 200:
|
191 |
+
soup = BeautifulSoup(response.content, 'html.parser')
|
192 |
+
return soup.prettify()
|
193 |
+
else:
|
194 |
+
return f"Failed to retrieve content. Status code: {response.status_code}"
|
195 |
def run(self):
|
196 |
self.initialize_nlp_models() # Initialize NLP models here
|
197 |
with gr.Blocks() as demo:
|