FinTalk is an intelligent, AI-powered loan advisory platform that provides personalized financial guidance in multiple languages. Built with Streamlit and powered by Google's Gemini AI, FinTalk helps users make informed decisions about loans, credit, and financial planning.
- 🤖 AI-Powered Chat: Intelligent loan advisory using Google's Gemini 2.0 Flash model
- 🗣️ Voice Support: Speech-to-text and text-to-speech capabilities
- 🌐 Multilingual: Support for 11+ Indian languages including Hindi, Bengali, Tamil, Telugu, and more
- 💳 Personal FinCard: Customizable financial profile for personalized advice
- 🔒 Secure: API keys and sensitive data protection
- 📱 Responsive: Mobile-friendly interface
- 🎯 Specialized: Focused on loan eligibility, applications, and financial literacy
Try FinTalk live at: https://fintalk.streamlit.app/
Note: The live demo may have some limitations. For full functionality, follow the local setup instructions below.
- Python 3.8 or higher
- pip (Python package manager)
- Git
-
Clone the Repository
git clone https://github.com/CodebyKumar/FinTalk.git cd FinTalk -
Create Virtual Environment
python -m venv venv # On macOS/Linux: source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Configure Environment Variables
Create a
.envfile in the project root:cp .env.example .env
Edit
.envand add your API keys:# Get from: https://aistudio.google.com/app/apikey GOOGLE_API_KEY=your_google_api_key_here # Get from: https://www.sarvam.ai/ SARVAM_API_KEY=your_sarvam_api_key_here
-
Run the Application
streamlit run home.py
-
Open in Browser
The app will automatically open at
http://localhost:8501
- Visit Google AI Studio
- Sign in with your Google account
- Create a new API key
- Add it to your
.envfile
- Visit Sarvam AI
- Sign up for an account
- Get your API key from the dashboard
- Add it to your
.envfile
Security Note: Never commit your
.envfile to version control. Keep your API keys secure.
- Setup API Keys: Configure your API keys in the API Key page
- Create FinCard: Fill out your financial profile in the sidebar
- Start Chatting: Ask questions about loans, credit, and financial planning
- Text Chat: Type your questions in English or any supported language
- Voice Chat: Use the microphone to speak your questions
- File Upload: Upload audio files for transcription
- 🇮🇳 Hindi (हिंदी)
- 🇺🇸 English
- 🇧🇩 Bengali (বাংলা)
- 🇮🇳 Tamil (தமிழ்)
- 🇮🇳 Telugu (తెలుగు)
- 🇮🇳 Marathi (मराठी)
- 🇮🇳 Kannada (ಕನ್ನಡ)
- 🇮🇳 Gujarati (ગુજરાતી)
- 🇮🇳 Malayalam (മലയാളം)
- 🇮🇳 Punjabi (ਪੰਜਾਬੀ)
- 🇵🇰 Urdu (اردو)
FinTalk/
├── home.py # Main application entry point
├── pages/ # Modular application components
│ ├── main.py # Chat functionality
│ ├── api_utils.py # API integrations
│ ├── audio_utils.py # Audio processing
│ ├── model_utils.py # AI model management
│ └── text_utils.py # Text processing utilities
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── finCard_data.json # User financial data
└── README.md # This file
GOOGLE_API_KEY: Google Gemini API key (required)SARVAM_API_KEY: Sarvam AI API key (for audio features)DEBUG: Enable debug mode (optional, default: false)
- Edit
config.pyto modify default settings - Adjust language mappings and speaker preferences
- Customize UI elements and messages
Audio Recording Not Working
- Ensure microphone permissions are granted
- Check if
streamlit-mic-recorderis installed - Try uploading an audio file instead
API Errors
- Verify your API keys are correct
- Check your internet connection
- Ensure you have sufficient API quota
Language Detection Issues
- Speak clearly and avoid background noise
- Try typing instead of using voice input
- Ensure the language is supported
FinCard Data Not Saving
- Check file permissions in the project directory
- Ensure
finCard_data.jsonis writable
If you encounter issues:
- Check the troubleshooting section above
- Review the application logs
- Open an issue on GitHub with error details
We welcome contributions! Here's how you can help:
- Fork the Repository
- Create a Feature Branch
git checkout -b feature/amazing-feature
- Make Your Changes
- Run Tests (if applicable)
- Commit Your Changes
git commit -m "Add amazing feature" - Push to Your Branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow Python PEP 8 style guidelines
- Add docstrings to functions and classes
- Keep functions small and focused
- Handle errors gracefully
- Update documentation for new features
This project is licensed under the MIT License. See the LICENSE file for details.
- Google AI for the Gemini API
- Sarvam AI for multilingual speech services
- Streamlit for the amazing web framework
- Contributors who help improve FinTalk
- GitHub Issues: Report bugs or request features
- Discussions: Community discussions
- Email: Contact the maintainer
- Integration with real loan providers
- Advanced financial calculators
- Document upload and analysis
- Loan comparison features
- Credit score improvement tracking
- Financial goal setting and tracking
Made with ❤️ by the FinTalk Team
Empowering financial decisions through AI-powered conversations