GraphMind is a Streamlit-based AI chatbot that uses LangGraph to manage multi-threaded conversations and SQLite to persist chat history. The project keeps the original chat behavior intact while organizing the code into a cleaner, more maintainable structure.
- AI chatbot experience with streaming responses
- LangGraph workflow for message handling
- Multiple conversation threads
- Sidebar thread management
- SQLite-backed chat history persistence
- Streamlit user interface
- Modular architecture for maintainability
- Python
- Streamlit
- LangGraph
- LangChain
- OpenAI
- SQLite
- app.py: Streamlit entry point
- graphmind/: core chat, graph, and configuration modules
- ui/: sidebar and chat rendering helpers
- tests/: regression tests
- docs/: project documentation
- Python 3.10+
- Git
- pip
- Clone the repository
- Create a virtual environment:
py -m venv .venv - Activate it:
.venv\\Scripts\\activate - Install dependencies:
pip install -r requirements.txt - Create a
.envfile from.env.example - Configure your OpenAI API key
- Run the app:
streamlit run app.py
- Clone the repository
- Create a virtual environment:
python3 -m venv .venv - Activate it:
source .venv/bin/activate - Install dependencies:
pip install -r requirements.txt - Create a
.envfile from.env.example - Configure your OpenAI API key
- Run the app:
streamlit run app.py
SQLite is used without any additional installation. The default database file is stored as graphmind.db in the project root. It is created automatically when the app first runs. To recreate it, delete the database file and restart the application.
Create a .env file based on .env.example and set:
- OPENAI_API_KEY: your OpenAI API key
- OPENAI_MODEL: the model name to use
- SQLITE_DB_PATH: optional SQLite database path
- STREAMLIT_PAGE_TITLE: optional page title for Streamlit
streamlit run app.py- If imports fail, install the requirements again with
pip install -r requirements.txt. - If the app cannot reach OpenAI, verify that
OPENAI_API_KEYis correct. - If the database is missing, the application will create it automatically.
- Long-term memory
- RAG
- Tool calling
- MCP integration
- Multi-agent workflows
- Docker
- Authentication
- Cloud deployment