Skip to content

22AD040/neurochat-memory-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub stars GitHub forks GitHub repo size


Python Streamlit Gemini LangChain Generative AI License


πŸ€– NeuroChat Memory AI

🧠 Multi-Chat AI Assistant with Memory using LangChain & Gemini 2.5 Flash

Built with Streamlit


πŸš€ Live Demo

πŸ”— Try the App Here:
πŸ‘‰ https://neurochat-memory-ai-tyntnh3j9rwxytr9ufqcju.streamlit.app/


πŸš€ Overview

NeuroChat Memory AI is an advanced conversational AI application that supports:

  • πŸ’¬ Multiple chat sessions
  • 🧠 Context-aware memory (remembers previous conversations)
  • ⚑ Fast and structured AI responses
  • 🌐 Gemini 2.5 Flash powered intelligence

It mimics ChatGPT-like behavior with chat history navigation + contextual understanding.


✨ Features

  • πŸ’¬ Multi-Chat System
  • 🧠 Conversation Memory Handling
  • πŸ“š Persistent Chat History (JSON Storage)
  • πŸ”„ Switch Between Chats
  • 🏷️ Auto Chat Titles (based on first question)
  • ⚑ Fast Responses using Gemini 2.5 Flash
  • 🎯 Structured & Accurate AI Output
  • ⏳ Loading Spinner for Better UX
  • 🌐 Streamlit Cloud Deployment
  • πŸ” Secure API Key Handling

🧠 Tech Stack

Technology Purpose
Streamlit Frontend UI
LangChain LLM Orchestration
Gemini 2.5 Flash AI Model
Python Backend Logic
JSON Chat Storage
dotenv Environment Management

🧩 LangChain Components Used

  • 🧠 LLM β†’ ChatGoogleGenerativeAI (Gemini)
  • πŸ”— Chains β†’ LLMChain-style invocation
  • 🧰 Tools β†’ Custom tools (if extended)
  • πŸ€– Agents β†’ Custom agent executor (manual structured agent)
  • πŸ’¬ Messages β†’ Human / AI message formatting
  • 🧠 Memory β†’ Custom conversation memory (history injection)

πŸ“ Project Structure

neurochat-memory-ai/
β”‚
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ chat_ui.py
β”‚   β”œβ”€β”€ sidebar.py
β”‚
β”œβ”€β”€ agents/
β”‚   β”œβ”€β”€ agent_builder.py
β”‚   β”œβ”€β”€ tools.py
β”‚
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ config.py
β”‚   β”œβ”€β”€ memory.py
β”‚
β”œβ”€β”€ storage/
β”‚   β”œβ”€β”€ chat_store.py
β”‚   β”œβ”€β”€ chats.json
β”‚
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ helpers.py
β”‚
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ home.png
β”‚   β”œβ”€β”€ chat.png
β”‚   β”œβ”€β”€ history.png
β”‚   β”œβ”€β”€ memory.png
β”‚
β”œβ”€β”€ .streamlit/
β”‚   β”œβ”€β”€ secrets.toml
β”‚
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE

πŸ“Έ Application Screenshots

🏠 Home Screen

Home

πŸ’¬ Chat Interaction

Chat

πŸ“š Chat History

History

🧠 Memory (Context Awareness)

Memory


βš™οΈ Installation

1️⃣ Clone Repository

git clone https://github.com/22AD040/neurochat-memory-ai.git
cd neurochat-memory-ai

2️⃣ Create Virtual Environment

python -m venv venv
venv\Scripts\activate

3️⃣ Install Requirements

pip install -r requirements.txt

4️⃣ Add Environment Variables

Create .env file:

GEMINI_API_KEY=your_api_key_here

▢️ Run Locally

streamlit run app/main.py

🌐 Deployment (Streamlit Cloud)

  • Push code to GitHub
  • Go to Streamlit Cloud
  • Add Secrets:
GEMINI_API_KEY = your_api_key
  • Deploy πŸš€

πŸ”’ Security

  • πŸ” API keys stored in .env / Streamlit Secrets
  • 🚫 .gitignore prevents sensitive files upload
  • 🧠 Chat sessions isolated per user
  • πŸ“ chats.json excluded from Git

πŸ“Œ Future Enhancements

  • 🧠 Vector DB Memory (FAISS / Chroma)
  • πŸ“„ File Upload + RAG
  • 🌍 Multi-language support
  • πŸ” Authentication system
  • πŸ“Š Analytics dashboard

πŸ‘©β€πŸ’» Author

Ratchita B
πŸŽ“ Artificial Intelligence & Data Science


⭐ Support

If you like this project:

  • πŸ‘‰ Give it a ⭐ on GitHub
  • πŸ‘‰ Share with others

πŸ“œ License

This project is licensed under the MIT License


About

Multi-Chat AI Assistant with Memory using LangChain & Gemini 2.5 Flash | Streamlit-based ChatGPT-like app with context awareness, chat history, and structured responses

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages