Spaces:
Sleeping
Sleeping
File size: 3,651 Bytes
9385133 83a0c1c a6c95f0 83a0c1c ced35f5 83a0c1c ced35f5 83a0c1c ced35f5 83a0c1c ced35f5 0edee28 2776f22 0edee28 44f3235 0edee28 a6c95f0 0edee28 a6c95f0 0edee28 a6c95f0 0edee28 9385133 |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
import gradio as gr
import os
# Function for Main content (takes user input and returns a response)
def process_input(user_input):
return f"You entered: {user_input}"
# Function to generate predefined examples
def get_example():
# Define the path to the 'examples' directory
example_root = os.path.join(os.path.dirname(__file__), "examples")
# Get list of all example text file paths
example_files = [os.path.join(example_root, _) for _ in os.listdir(example_root) if _.endswith("txt")]
# Read the content of each file (assuming they're plain text files)
examples = []
for file_path in example_files:
example_content = ""
with open(file_path, "r", encoding="utf-8", errors="ignore") as f:
example_content = f.read()
examples.append(example_content) # Append the content to the list
return examples
class ContentAgentUI:
def __init__(self):
# Set the path to the external CSS file
css_path = os.path.join(os.getcwd(), "ui", "styles.css")
self.ca_gui = gr.Blocks(css=css_path)
self.sections = [
self.create_header,
self.create_user_guidance,
self.create_main,
self.create_examples,
self.create_footer,
]
for section in self.sections:
section()
self.launch()
def create_header(self):
agent_header = """
#Content Agent
"""
with self.ca_gui:
gr.Markdown("<div id='header'>" + agent_header + "</div>")
def create_user_guidance(self):
guidance = """
Please enter text below to get started. The AI Agent will try to determine whether the language is polite and uses the following classification:
- `polite`
- `somewhat polite`
- `neutral`
- `impolite`
App is running `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B` text generation model.
Uses Intel's Polite Guard NLP library.
Compute is GCP · Nvidia L4 · 4x GPUs · 96 GB
"""
with self.ca_gui:
gr.Markdown("<div id='user-guidance'>" + guidance + "</div>")
def create_main(self):
with self.ca_gui:
with gr.Row():
with gr.Column():
self.user_input = gr.Textbox(label="Your Input", placeholder="Enter something here...")
self.submit_button = gr.Button("Submit")
self.output = gr.Textbox(label="Content feedback", interactive=False, lines=10, max_lines=20 )
# Define the function to be called when the button is clicked or Enter is pressed
self.submit_button.click(process_input, inputs=self.user_input, outputs=self.output)
self.user_input.submit(process_input, inputs=self.user_input, outputs=self.output)
def create_examples(self):
# Fetch examples by calling get_example() here
examples = get_example()
example_radio = gr.Radio(choices=examples, label="Try one of these examples:")
# When an example is selected, populate the input field
with self.ca_gui:
example_radio.change(fn=lambda example: example, inputs=example_radio, outputs=self.user_input)
def create_footer(self):
with self.ca_gui:
gr.Markdown("<div id='footer'>Thanks for trying it out!</div>")
def launch(self):
self.ca_gui.launch()
def pass_through_agent(self, agent):
# Code to pass through the agent
pass
|