Spaces:
Build error
Build error
File size: 2,378 Bytes
6a0ec6a dbbcf50 91561ce dbbcf50 6d4e0a3 e1e2089 6d4e0a3 bb29d2e e3ecb0f a808dce db33f59 bb29d2e db33f59 e3ecb0f a6f506b bb29d2e e3ecb0f a6f506b bb29d2e db33f59 a6f506b bb29d2e a808dce bb29d2e a6f506b bb29d2e a6f506b db33f59 a6f506b f3a5662 6d4e0a3 bb29d2e a808dce bb29d2e db33f59 237bccb db33f59 3df9eeb db33f59 811c7ec 6a0ec6a dbbcf50 db33f59 dbbcf50 |
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 |
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 comprehensive report with progress tracking"""
full_content = []
# Track file reading progress
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)}"
# Track analysis progress
progress(0.8, desc="Analyzing content with AI...")
report = agent.run(f"""
Analyze these documents and create a detailed report:
{"".join(full_content)[:10000]}
Report structure:
1. Executive Summary
2. Key Findings
3. Important Patterns
4. Recommendations
Use professional markdown formatting with headings and bullet points.
""")
progress(1.0, desc="Analysis complete!")
return report
with gr.Blocks() as demo:
gr.Markdown("# Professional Document Analyzer")
with gr.Row():
with gr.Column(scale=1):
file_input = gr.File(
file_count="multiple",
file_types=[".txt"],
label="Upload Documents"
)
process_btn = gr.Button("Generate Report", variant="primary")
with gr.Column(scale=2, variant="panel"):
gr.Markdown("## Analysis Report")
report_output = gr.Markdown(
elem_classes="report-box",
label="",
show_label=False
)
status = gr.Textbox(label="Processing Status", visible=False)
process_btn.click(
fn=analyze_content,
inputs=file_input,
outputs=[report_output, status],
show_progress="minimal"
)
if __name__ == "__main__":
demo.launch(
server_name="0.0.0.0",
server_port=7860,
share=True,
ssr=False # Disable experimental server-side rendering
) |