Chatbot with a 'sort-of' long-term memory ๐ง with Text generation web UI and ChatGPT backend.
- Support for multiple clients
web
: ๐ browser based chats (recommended)discord
: ๐ฎ a discord bot you can add to your serverterminal
: ๐ป terminal based chatssttts
: ๐ฃ๏ธ Speech-To-Text & Text-To-Speech
- Rolling message history
- Long-term memory using embeddings with Redi๐ backend
- Message correction that feeds corrections back into message history
(e.g. corrects some command syntax issues) - Bots can call Tools (including web-browsing and code execution)
- Multiple bots can be added to the conversation
(reuses same model if model config is the same)
- Redis with Redi๐:
docker run -p 6379:6379 redis/redis-stack
. - ๐ Refer to Dockerfile for OS dependencies.
- One of the following backends:
- llama-node compatible models
- Text generation web UI (with API enabled)
- OpenAI API key
Copy an example configuration from data/persistent/settings.example.*.json
to data/persistent/settings.json
.
docker build -t deads-inc/open-chatbot-js .
<mode>
is one of the implemented clients, e.g.terminal
-d
selectsdata/persistent
as data directory-b
selects one of the backends underdata/persistent/backends
-t
selects one of the turn templates underdata/persistent/turn_templates
-c
selects one of the characters underdata/persistent/characters
docker run -it --rm --net=host -v ./data/persistent/:/app/data/persistent/ deads-inc/open-chatbot-js <mode> -d data/persistent -b webui.example.json -t vicuna.json -c eva.example.json
cd ./open-chatbot-js
npm install --omit=dev
npx tsc --project tsconfig.prod.json
see launch.json