Initial commit
This commit is contained in:
140
README.md
Normal file
140
README.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# 🧾 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>
|
||||
|
||||
---
|
||||
|
||||
## 🎯 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.
|
||||
Reference in New Issue
Block a user