Spaces:
Build error
Build error
import gradio as gr | |
from smolagents import CodeAgent, HfApiModel | |
# Initialize the AI agent | |
agent = CodeAgent( | |
tools=[], | |
model=HfApiModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct"), | |
) | |
def analyze_content(file_paths, progress=gr.Progress()): | |
"""Process files and generate report with progress tracking""" | |
full_content = [] | |
progress(0, desc="Starting analysis...") | |
for i, path in enumerate(file_paths): | |
progress(i/len(file_paths), desc=f"Reading {path.split('/')[-1]}...") | |
try: | |
with open(path, 'r', encoding='utf-8') as f: | |
content = f.read() | |
full_content.append(f"## {path.split('/')[-1]}\n{content}\n") | |
except Exception as e: | |
return f"Error processing {path}: {str(e)}", "" | |
progress(0.8, desc="Analyzing content...") | |
report = agent.run(f""" | |
Analyze these documents: | |
{"".join(full_content)[:10000]} | |
Create report with: | |
1. Key insights | |
2. Important patterns | |
3. Actionable recommendations | |
4. Supporting evidence | |
Use markdown formatting with headers. | |
""") | |
progress(1.0, desc="Analysis complete!") | |
return report, "Process completed successfully" | |
with gr.Blocks() as demo: | |
gr.Markdown("# Document Analysis System") | |
with gr.Row(): | |
file_input = gr.File( | |
file_count="multiple", | |
file_types=[".txt"], | |
label="Upload Documents" | |
) | |
process_btn = gr.Button("Generate Report", variant="primary") | |
report_output = gr.Markdown(label="Analysis Report") | |
status = gr.Textbox(label="Status", visible=False) | |
process_btn.click( | |
fn=analyze_content, | |
inputs=file_input, | |
outputs=[report_output, status], | |
show_progress="full" | |
) | |
if __name__ == "__main__": | |
demo.launch( | |
server_name="0.0.0.0", | |
server_port=7860, | |
share=True # Public link enabled | |
) |