A comprehensive application for managing receipts and processing refund requests, featuring AI-powered audio and image processing capabilities.
- Upload and store receipt images
- Extract amount information from receipts
- Store receipt data in Supabase database
- Process audio files from refund requests using Groq's whisper-large-v3-turbo model
- Automatic transcription of audio content
- AI-powered summarization of transcriptions
- Support for direct URL audio file processing
- Supabase backend for secure data storage
- Real-time data synchronization
- Efficient query operations
- Install required packages:
pip install streamlit supabase langchain-groq requests python-dotenv- Set up environment variables in
.env:
GROQ_API_KEY=your_groq_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
- Launch the application:
streamlit run app.py- Upload receipt images through the Streamlit interface
- Record or upload audio explanations for refund requests
- View processed results including:
- Extracted receipt amounts
- Audio transcriptions
- AI-generated summaries
- Automatic download and processing of audio files
- High-accuracy transcription using Groq's whisper model
- Concise summaries of audio content
- Batch processing capabilities
- Comprehensive error handling
refund_requeststable:id: Primary keyamount: Numeric (receipt amount)image_url: Text (receipt image location)audio_url: Text (refund request audio location)
app.py: Main Streamlit applicationaudio_processor.py: Audio processing functionalitydatabase_operations.py: Supabase database interactionsreceipt_processor.py: Receipt image processing
- Robust error management for file operations
- Graceful handling of processing failures
- Detailed error reporting
- Automatic cleanup of temporary files
- Secure handling of API keys through environment variables
- Safe temporary file management
- Secure URL processing
- Protected database operations
- Python 3.7+
- Streamlit
- Supabase
- langchain-groq
- requests
- python-dotenv
For issues and feature requests, please create an issue in the repository.