Welcome to the Mifos Community AI project! This innovative tool is designed to improve support and accessibility for the global Mifos & Fineract community using the power of Generative AI.
As Mifos and Fineract applications grow in complexity and adoption, effective support becomes crucial. This chatbot offers a smarter way to assist implementers, developers, and new usersโproviding instant, intelligent responses to questions using AI.
- ๐Community is growing rapidly โ more queries, higher support demand.
- Current help via Slack or docs is inconsistent and delayed.
- Documentation is scattered โ tough for new users to navigate.
- Response time depends on whoโs available โ not reliable.
- ๐ค This bot = 24/7 support + faster onboarding + reduced load on community mentors.
- Build an intelligent chatbot to answer queries about Mifos/Fineract.
- Integrate GPT models to improve understanding and answer generation.
- Guide users to relevant documentation and code snippets.
- Pre-train using real Slack Q&A and improve iteratively.
- Make support fast, consistent, and always available.
The Mifos Community AI Chatbot brings powerful capabilities to simplify and support your journey with Mifos and Fineract:
-
๐ฃ๏ธ Natural Language Understanding:
Understands and interprets user queries just like a human would. -
๐ค Smart Responses with OpenAI GPT:
Leverages GPT models to generate accurate and helpful replies. -
๐ Instant Access to Documentation and Code:
Retrieves relevant snippets from the Mifos/Fineract codebase using vector search. -
๐๏ธ Supports Multiple File Types:
Easily searches across TypeScript, HTML, Markdown, Kotlin, JavaScript files and more. -
Simple & Friendly Interface:
Built with Gradio for a clean and smooth user experience.
The chatbot is built with a modern, scalable stack to ensure a seamless AI experience:
- Python 3.8+ โ The core programming language powering the backend.
- LangChain โ For handling natural language processing tasks and chaining AI models.
- OpenAI GPT / Gemini AI โ To generate intelligent, human-like responses.
- ChromaDB โ For storing and retrieving vector embeddings efficiently.
- Gradio โ For building an intuitive and interactive user interface.
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
-
Clone the repository:
git clone https://github.com/openMF/community-ai.git
-
Install required dependencies:
pip install -r requirements.txt
-
Set up your OpenAI API key: Create a
.env
file in the root directory and add:OPENAI_API_KEY= "your_api_key_here"
-
Navigate to Web-App directory:
cd Web-App
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.
This tool enables seamless translation of English text into 35+ languages using Google's Gemini 2.0 Flash model, helping bridge language barriers across the Mifos community.
- ๐ 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, user-friendly UI
- Clone the repo and navigate to the helper tool:
cd tools/translation-helper
- Create a
.env
file and add your Gemini API key:
GEMINI_API_KEY=your-gemini-api-key
- Run the app:
python app.py
-
In the UI:
- Enter English text.
- Choose your target language from the dropdown.
- Optionally check "Use Formal Tone".
- Hit Enter or click "Translate ๐" to get results.
- Makes translation fast and intuitive for users across the globe
- Improves accessibility and inclusiveness in the Mifos ecosystem
- Encourages multilingual contributions and collaboration
- The
.env
file is gitignored to ensure your API key remains private and secure.
We welcome your ideas, bug reports, and contributions!
- Fork the repo
- Create a feature branch
- Submit a Pull Request
Let's build the future of community support together!
For more information about Mifos and Fineract, visit Mifos.org or join our Mifos Slack Channel