167 lines
5.3 KiB
Markdown
167 lines
5.3 KiB
Markdown
# 🧾 VoiceBill AI – Voice-Powered Autonomous Invoice Generator
|
||
|
||
**VoiceBill AI** is a fully autonomous, intelligent agent that generates professional invoices directly from user voice commands. It uses state-of-the-art audio-language models like **Qwen2-Audio-7B-Instruct** to interpret voice, extract structured data using **Pydantic**, cross-check and auto-complete information from a local database, and generates polished PDF invoices using **ReportLab** — all wrapped in a clean **Gradio** UI.
|
||
|
||
> 🎯 Designed for freelancers, SMBs, and enterprises that need intelligent, conversational billing — fast.
|
||
|
||
---
|
||
|
||
## 🚀 Demo
|
||
|
||
<div align="center">
|
||
|
||
[](https://colab.research.google.com/github/your-repo/VoiceBill_AI/blob/main/InvoiceGenerator.ipynb)
|
||
|
||
<!-- [](https://www.youtube.com/watch?v=VIDEO_ID_HERE) -->
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
## 🗣️ Input Audio Samples
|
||
|
||
Here are the audio inputs that were used for invoice generation:
|
||
|
||
- 🔊 [John Doe's Invoice Request](https://git.gyannetra.in/HardikSankhla/VoiceInvoiceAI_Demo/src/branch/main/audio_inputs/audio1JohnDoe.wav)
|
||
- 🔊 [Sarah Miller's Invoice Request](https://git.gyannetra.in/HardikSankhla/VoiceInvoiceAI_Demo/src/branch/main/audio_inputs/audio2SarahMilller.wav)
|
||
|
||
|
||
## 📊 Results
|
||
|
||
Here is a sample output invoice generated by VoiceBill AI:
|
||
|
||
<p align="center">
|
||
<table>
|
||
<tr>
|
||
<td align="center"><strong>Generated Invoice - Page 1</strong></td>
|
||
<td align="center"><strong>Generated Invoice - Page 2</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td><img src="https://git.gyannetra.in/HardikSankhla/VoiceInvoiceAI_Demo/raw/main/generated_invoices/Screenshot%202025-06-25%20191909.png" width="400"/></td>
|
||
<td><img src="https://git.gyannetra.in/HardikSankhla/VoiceInvoiceAI_Demo/raw/main/generated_invoices/Screenshot%202025-06-25%20191924.png" width="400"/></td>
|
||
</tr>
|
||
</table>
|
||
</p>
|
||
|
||
|
||
## 🎯 Objective
|
||
|
||
Enable users to **speak naturally** about invoice requirements while the AI:
|
||
|
||
- Understands and parses spoken content
|
||
- Auto-fills missing fields from local memory
|
||
- Follows up with intelligent prompts if any required field is missing
|
||
- Builds and exports a **professional PDF invoice**
|
||
- Works seamlessly via a user-friendly Gradio UI
|
||
|
||
---
|
||
|
||
## 🧠 System Workflow
|
||
|
||
1. **🎙️ Voice Input**:
|
||
User says: _"Generate an invoice for Ramesh for 2 iPhones and 1 MacBook."_
|
||
|
||
2. **🧠 AI Model (Qwen2-Audio)**:
|
||
Extracts structured data like:
|
||
- Client: Ramesh
|
||
- Items: iPhone, MacBook
|
||
- Quantity: 2, 1
|
||
|
||
3. **📦 Local DB Checks**:
|
||
- If Ramesh exists → fetch data
|
||
- If item details missing → asks user
|
||
- Stores/update user/item info in DB
|
||
|
||
4. **✅ Data Validation**:
|
||
Validates structured input using **Pydantic**
|
||
|
||
5. **📄 Invoice Generation**:
|
||
Generates professional PDF using **ReportLab**
|
||
|
||
6. **🌐 UI**:
|
||
All happens within an intuitive Gradio interface
|
||
|
||
---
|
||
|
||
## 🛠️ Tech Stack
|
||
|
||
| Function | Tool / Library |
|
||
|----------------------|--------------------------------------------|
|
||
| Voice-to-Text | [Qwen2-Audio-7B-Instruct](https://huggingface.co/Qwen/Qwen2-Audio-7B-Instruct) |
|
||
| Structured Validation| [Pydantic](https://docs.pydantic.dev/) |
|
||
| Audio Processing | [Librosa](https://librosa.org/) |
|
||
| UI Interface | [Gradio](https://www.gradio.app/) |
|
||
| PDF Invoice Builder | [ReportLab](https://www.reportlab.com/) |
|
||
| Runtime | Python 3.10+, Google Colab/GPU |
|
||
|
||
---
|
||
|
||
## 📦 Features
|
||
|
||
✅ AI-powered voice input → invoice
|
||
✅ Auto-fill from local user/item DB
|
||
✅ Modular, structured data validation
|
||
✅ Dynamic follow-up on missing fields
|
||
✅ Clean, professional invoice layout (PDF)
|
||
✅ Gradio UI for real-time interaction
|
||
✅ Supports 8-bit model loading (via bitsandbytes)
|
||
|
||
---
|
||
|
||
## 📁 Folder Structure
|
||
|
||
```python
|
||
VoiceBill_AI/
|
||
│
|
||
├── InvoiceGenerator.ipynb # Main pipeline notebook
|
||
├── requirements.txt # Install dependencies
|
||
├── audio_inputs/ # Uploaded or recorded audio
|
||
├── generated_invoices/ # Output PDFs saved here
|
||
└── README.md # This file
|
||
```
|
||
----
|
||
|
||
## ⚙️ Setup
|
||
|
||
✅ In Colab
|
||
|
||
- Open notebook in Colab
|
||
- Ensure GPU is enabled: Runtime > Change Runtime Type > GPU
|
||
- Run all cells
|
||
|
||
✅ Local (Experimental)
|
||
|
||
```python
|
||
$ git clone https://github.com/your-username/VoiceBill_AI.git
|
||
$ cd VoiceBill_AI
|
||
$ pip install -r requirements.txt
|
||
$ python run_app.py # Optional: if converted to Python script
|
||
```
|
||
|
||
---
|
||
|
||
## 🧩 Missing Data Handling (Agentic)
|
||
|
||
- User Info Missing? → “Who is the client?”
|
||
- Item Info Missing? → “What’s the price for iPhone 15?”
|
||
- GST or Address Missing? → Prompt and update DB
|
||
- User Updates Info? → Accept and sync to local DB
|
||
|
||
---
|
||
|
||
## 📌 Future Enhancements
|
||
|
||
- Multi-language support via Whisper or MMS
|
||
- Full agent framework with LangChain/Ollama integration
|
||
- Database integration (PostgreSQL/SQLite)
|
||
- REST API and Streamlit frontend
|
||
- Voice-based editing of previous invoices
|
||
|
||
---
|
||
|
||
## 🙌 Credits
|
||
|
||
Developed by [Gyannetra Pvt Ltd ™](https://www.gyannetra.com/)
|
||
Built to simplify billing using cutting-edge AI and local models.
|
||
Made with 💜 and Python.
|