graph LR
User_Interface["User Interface"]
Monolithic_Research_Script["Monolithic Research Script"]
User_Interface -- "invokes and displays results from" --> Monolithic_Research_Script
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
A Streamlit-based web interface that serves as the entry point for the user. It captures the research query and triggers the backend processing script. After the script completes its execution, the UI is responsible for displaying the final, formatted report.
Related Classes/Methods:
app/streamlit_app.py
A single, cohesive script that orchestrates the entire research and data processing workflow. It is not broken into separate components but rather into a series of functions that are called sequentially to perform the end-to-end task. This design centralizes all core logic, making it highly coupled but simple to execute. Key responsibilities include: Workflow Orchestration (run_pipeline), LLM Interaction (choose_llm, _build_chain), Data Processing & Formatting (_merge, _dedupe, _to_md), and Data Structure Definition (Product dataclass).
Related Classes/Methods: