As the Mifos community around its core products (Mifos X, Payment Hub EE, Mobile Applications and Mifos Gazelle) grows rapidly, this chatbot aims to provide a quick self-service support methods for implementors, developers and new users. It aims to simplify finding relevant content across the multiple sources through Generative AI tools.
To set up and run the Mifos Chatbot locally:
git clone https://github.com/openMF/community-ai.git
cd Web-App
pip install -r requirements.txt
Make sure you have Python 3.8+ installed.
Create a .env
file in the project root with the following:
OPENAI_API_KEY=your_openai_api_key_here
OR
GEMINI_API_KEY=your-gemini-api-key
You can run the Mifos Chatbot in two ways:
-
Launch Jupyter Notebook:
jupyter notebook
-
Open the
web-app_bot.ipynb
file. -
Run the notebook cells one by one.
-
Interact with the chatbot via the Gradio interface:
- Enter your query in the input box.
- Click Submit or press Enter.
- Get instant responses based on the Mifos/Fineract codebase and docs!
Instantly access the bots hosted on Hugging Face Spaces:
No installation, just open the link and start asking questions!
Here's how the repository is organized:
Path/Folder | Description |
---|---|
web-app/ |
Contains Mifos Web App files analyzed by the chatbot. |
web-app_bot.ipynb |
Jupyter Notebook to run the chatbot locally. |
web_app_vector_storage_metadata/ |
Stores vector embeddings for fast information retrieval. |
tools/translation-helper/ |
(New!) Gemini-powered Translation Helper Tool. |
requirements.txt |
Python dependencies needed for running the chatbot and translation tool. |
CodeCommentingScript.py |
Script for pre-processing the codebase and generating vector embeddings. |
- The chatbot processes and indexes the Mifos codebase, creating vector embeddings for efficient retrieval.
- When a user asks a question, the system finds the most relevant code snippets or documentation.
- The chatbot then uses GPT models to generate a human-like response based on the retrieved information.
- Responses focus on file organization, key components, and project structure.
- Multilingual support for 35+ global languages
- Formal/informal tone switch for contextual translations
- Powered by Gemini 2.0 Flash via Google Generative AI
- Trigger translation via Enter key or button
- Built using Gradio for a minimal UI
We welcome your ideas, bug reports, and contributions!
- Fork the repo
- Create a feature branch
- Submit a Pull Request
For more information about Mifos and Fineract, visit Mifos or join our Mifos Slack Channel