Files
VoiceInvoiceAI_Demo/README.md
Hardik Sankhla dde1038458 Initial commit
2025-06-08 21:16:35 +05:30

141 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🧾 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">
[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/your-repo/VoiceBill_AI/blob/main/InvoiceGenerator.ipynb)
[![Watch the demo](https://img.youtube.com/vi/VIDEO_ID_HERE/maxresdefault.jpg)](https://www.youtube.com/watch?v=VIDEO_ID_HERE)
</div>
---
## 🎯 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.