# Abah_chat – Persistent Memory Local Chatbot

> Source: <https://github.com/john-abah/ABAH_CHAT>
> Published: 2026-08-22 21:18:24+00:00

A local-first conversational AI tool featuring persistent memory. Return to your chat history at any time or seamlessly switch models while retaining full context of your previous conversations.

[Overview](#-overview)[Key Features](#-key-features)[Prerequisites](#-prerequisites)[Installation](#-installation)[Usage](#-usage)[Switching Models](#-switching-models)[Credits](#-credits)[Contacts](#-contacts)[Buy Me a Coffee](#-buy-me-a-coffee)

**abah_chat** is designed to eliminate session loss during local LLM interactions. It stores conversation histories across sessions in persistent storage, allowing you to:

- Resume conversations exactly where you left off.
- Switch between different local models without losing chat context.
- Query the LLM about past discussions and saved history.

**Persistent Chat History:** Conversations are saved locally across restarts.**Model Interoperability:** Swap the underlying LLM at any point and continue referencing prior context.**Context Querying:** Prompt the LLM directly to summarize or recall where you left off in past sessions.**100% Local & Private:** Powered locally through Ollama.

**Python:**`3.12.13`

(or Python`3.12+`

)**Ollama:** Installed and running locally

-
**Clone the repository and navigate to the project root:**

```
git clone https://github.com/john-abah/ABAH_CHAT.git
cd ABAH_CHAT
```

-
**Install the package in editable mode:**

```
pip install -e .
```

-
**Pull the model in Ollama:**

```
ollama pull gemma4:12b
```

-
**Start the Ollama background service:**

```
ollama serve
```

-
**Launch the chat assistant in your CLI:**

```
abah_chat
```

-
**Interact with the assistant:**- Type your messages normally to chat.
- Ask contextual questions such as
*"Where did we leave off last time?"*or*"Summarize our previous conversation"*.

If you wish to use a different model pulled from Ollama:

- Pull your desired model:

```
ollama pull <your-model-name>
```

- Open
`abahchat.py`

and update:`self.model_client`

to your new model name.`model_info`

to match the specifications of the newly pulled model.

- If the program is currently running, exit the session and run
`abah_chat`

again for the changes to take effect.

**Author:** John Abah

**Email:**[john.abah@stud.hshl.de](mailto:john.abah@stud.hshl.de)** LinkedIn:**[John Abah](https://www.linkedin.com/in/john-abah-311ab233a/)

If you found this project helpful, feel free to support the development:
