| # Digi-Biz π |
|
|
| **Agentic Business Digitization Framework** |
|
|
| Transform unstructured business documents into structured digital profiles using AI agents. |
|
|
| []() |
| []() |
| []() |
|
|
| --- |
|
|
| ## π Quick Start |
|
|
| ### 1. Install Dependencies |
|
|
| ```bash |
| pip install -r requirements.txt |
| ``` |
|
|
| ### 2. Configure Groq API |
|
|
| Get your free API key at https://console.groq.com |
|
|
| Create `.env` file: |
| ```bash |
| GROQ_API_KEY=gsk_your_key_here |
| GROQ_VISION_MODEL=meta-llama/llama-4-scout-17b-16e-instruct |
| ``` |
|
|
| ### 3. Run the App |
|
|
| ```bash |
| streamlit run app.py |
| ``` |
|
|
| Open http://localhost:8501 |
|
|
| --- |
|
|
| ## β¨ Features |
|
|
| β
**Multi-Agent Pipeline** - 6 specialized agents |
| β
**Groq Vision** - Image analysis with Llama-4-Scout (17B) |
| β
**Vectorless RAG** - Fast document retrieval |
| β
**Production-Ready** - Error handling, validation, logging |
| β
**Interactive UI** - Streamlit web interface |
|
|
| --- |
|
|
| ## π What It Does |
|
|
| 1. **Upload ZIP** with business documents |
| 2. **AI Agents Process**: |
| - File Discovery β Classify files |
| - Document Parsing β Extract text/tables |
| - Table Extraction β Detect & classify |
| - Media Extraction β Extract images |
| - Vision Analysis β Describe images (Groq) |
| - Indexing β Build search index (RAG) |
| 3. **View Results** in interactive UI |
|
|
| --- |
|
|
| ## π― Example Use Cases |
|
|
| ### Restaurant Digitization |
| - Upload: Menu PDFs, food photos, price lists |
| - Output: Digital menu with prices, food descriptions, categories |
|
|
| ### Travel Agency |
| - Upload: Tour brochures, itinerary PDFs, destination photos |
| - Output: Tour packages with itineraries, pricing, descriptions |
|
|
| ### Retail Store |
| - Upload: Product catalogs, inventory spreadsheets, product photos |
| - Output: Product inventory with descriptions, prices, categories |
|
|
| --- |
|
|
| ## π Project Structure |
|
|
| ``` |
| digi-biz/ |
| βββ backend/agents/ # 6 AI agents |
| βββ backend/models/ # Data schemas |
| βββ backend/utils/ # Utilities |
| βββ tests/agents/ # Test suites |
| βββ app.py # Streamlit app |
| βββ requirements.txt # Dependencies |
| βββ docs/ # Documentation |
| ``` |
|
|
| --- |
|
|
| ## π§ͺ Testing |
|
|
| All agents are thoroughly tested: |
|
|
| ```bash |
| # Run all tests |
| pytest tests/ -v |
| |
| # Test coverage |
| pytest tests/ --cov=backend |
| ``` |
|
|
| **Test Results:** 66/66 tests passing β
|
|
|
| --- |
|
|
| ## π Documentation |
|
|
| - **[Full Documentation](docs/DOCUMENTATION.md)** - Complete guide |
| - **[Agent Details](docs/AGENT_PIPELINE.md)** - Agent specifications |
| - **[Streamlit App](docs/STREAMLIT_APP.md)** - App usage guide |
|
|
| --- |
|
|
| ## π§ Configuration |
|
|
| ### Environment Variables (.env) |
|
|
| ```bash |
| # Groq API (required) |
| GROQ_API_KEY=gsk_xxxxx |
| GROQ_MODEL=gpt-oss-120b |
| GROQ_VISION_MODEL=meta-llama/llama-4-scout-17b-16e-instruct |
| |
| # Optional: Ollama fallback |
| OLLAMA_HOST=http://localhost:11434 |
| |
| # Processing limits |
| MAX_FILE_SIZE=524288000 # 500MB |
| MAX_FILES_PER_ZIP=100 |
| ``` |
|
|
| --- |
|
|
| ## π Agents |
|
|
| | # | Agent | Purpose | Status | |
| |---|-------|---------|--------| |
| | 1 | File Discovery | Extract & classify ZIP files | β
| |
| | 2 | Document Parsing | Parse PDF/DOCX | β
| |
| | 3 | Table Extraction | Detect & classify tables | β
| |
| | 4 | Media Extraction | Extract images/videos | β
| |
| | 5 | Vision Agent | Analyze images (Groq) | β
| |
| | 6 | Indexing Agent | Build RAG index | β
| |
|
|
| --- |
|
|
| ## π Performance |
|
|
| | Task | Time | |
| |------|------| |
| | File Discovery (10 files) | ~1-2s | |
| | Document Parsing (10 pages) | ~0.5s | |
| | Table Extraction (5 tables) | ~0.5s | |
| | Vision Analysis (1 image) | ~2s | |
| | **Total (typical folder)** | **<2 min** | |
|
|
| --- |
|
|
| ## π οΈ Tech Stack |
|
|
| - **Backend:** Python 3.10+, Pydantic, asyncio |
| - **Document Parsing:** pdfplumber, python-docx, openpyxl |
| - **Vision AI:** Groq API (Llama-4-Scout-17B) |
| - **Frontend:** Streamlit |
| - **Testing:** pytest |
|
|
| --- |
|
|
| ## π License |
|
|
| MIT License - See [LICENSE](LICENSE) for details |
|
|
| --- |
|
|
| ## π€ Contributing |
|
|
| 1. Fork the repo |
| 2. Create feature branch |
| 3. Add tests |
| 4. Submit PR |
|
|
| --- |
|
|
| ## π Support |
|
|
| - **Issues:** GitHub Issues |
| - **Docs:** [docs/DOCUMENTATION.md](docs/DOCUMENTATION.md) |
|
|
| --- |
|
|
| **Made with β€οΈ using AI Agents** |
|
|