FlowMinds is an AI-powered application that generates detailed explanations and visual flowcharts for complex processes and concepts. By leveraging the power of OpenAI's GPT model and Mermaid flowchart syntax, FlowMinds transforms natural language inputs into comprehensive textual descriptions and corresponding visual representations.
- Features
- How It Works
- Installation
- Usage
- Use Cases
- Technical Details
- Limitations
- Contributing
- License
- Natural Language Input: Describe any process or concept in plain English.
- AI-Generated Explanations: Utilizes OpenAI's GPT model for detailed, informative responses.
- Automated Flowchart Creation: Transforms AI-generated explanations into structured Mermaid flowcharts.
- Complex Process Handling: Represents intricate workflows with up to 15-20 nodes.
- Visual Differentiation: Uses various node shapes and colors to distinguish between different types of steps or processes.
- Subprocess Representation: Employs subgraphs to group related processes, allowing for hierarchical representation.
- Interactive User Interface: Built with Streamlit for a user-friendly, responsive web experience.
- Real-time Generation: Provides instant results, with both explanation and flowchart generated on-demand.
- User Input: Enter a question or describe a process in the text input field.
- AI Response Generation: The app sends the user's input to OpenAI's API, generating a detailed explanation.
- Flowchart Creation: Another API call transforms the explanation into a Mermaid flowchart, following specified guidelines for complex process representation.
- Result Display: The app presents both the textual explanation and the Mermaid flowchart code.
- Visualization Instructions: Clear steps are provided for users to visualize the flowchart using an external Mermaid live editor.
To set up FlowMinds locally, follow these steps:
-
Clone the repository:
git clone https://github.com/bdeva1975/FlowMinds.git cd FlowMinds -
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` -
Install the required packages:
pip install -r requirements.txt -
Create a
.envfile in the root directory and add your OpenAI API key:OPENAI_API_KEY=your_api_key_here
To run FlowMinds:
- Ensure your virtual environment is activated.
- Run the Streamlit app:
streamlit run app.py - Open your web browser and go to the URL provided by Streamlit (usually
http://localhost:8501). - Enter your question or describe a process in the input field and click "Generate Response and Flowchart".
- View the generated explanation and Mermaid flowchart code.
- To visualize the flowchart, copy the Mermaid code and paste it into Mermaid Live Editor.
- Educational Tool: Visualize complex academic concepts or scientific processes.
- Business Process Modeling: Map out intricate business workflows or decision trees.
- Project Planning: Create visual representations of project lifecycles or methodologies.
- Technical Documentation: Generate flowcharts for software architectures or system designs.
- Problem-Solving: Break down complex problems into visual, step-by-step processes.
- Frontend: Streamlit (Python-based web application framework)
- Backend: Python
- AI Model: OpenAI's GPT-3.5-turbo
- Flowchart Syntax: Mermaid (JavaScript-based diagramming and charting tool)
- Environment Management: dotenv for secure API key handling
- Flowchart complexity is limited to 15-20 nodes for clarity and rendering feasibility.
- Very intricate processes may require manual adjustments or multiple flowcharts.
- The quality of the flowchart depends on the clarity and specificity of the user's input.
- Visualization requires an external tool (Mermaid live editor) for rendering the flowchart.
Contributions to FlowMinds are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.