File size: 4,284 Bytes
255cbd1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# Digi-Biz πŸ“„

**Agentic Business Digitization Framework**

Transform unstructured business documents into structured digital profiles using AI agents.

[![Tests](https://img.shields.io/badge/tests-66%20passed-green)]()
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)]()
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)]()

---

## πŸš€ 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**