.husky | ||
src | ||
.env.example | ||
.gitignore | ||
.prettierrc | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Tailchat-Assistant
Tailchat Assistant is your very own AI-powered chat bot, ready to implement into your guild!
Prerequisites
- A Tailchat server (duh)
- Make sure the "Openapi Platform Plugin" and "App Integration" plugins are enabled
- An OpenAI API Key / OpenAI API compatible service (LocalAI is recommended)
- If you are using something like LocalAI, be sure to have a decently powerful machine to make response times as fast as possible!
Included
- A sensible system prompt
- Automatically detect and analyze images
- Generate images with the prefix "Please generate:"
Not inlcuded
- Any LLM, API endpoint, API keys or anything similar
- Filtering or moderation
- Extensive testing of the system prompt, so no rigorous testing of declining dangerous/illegal requests users may present
Getting started
- Clone the project and install dependencies:
git clone https://git.povario.com/powermaker450/Tailchat-Assistant && cd Tailchat-Assistant
npm i
- Create the
.env
file from the example file:
mv .env.example .env
- Make sure that the "Openapi Platform Plugin" and "App Integration" plugins are enabled. Then follow the instructions here to create an App.
- Open up the
.env
file with your preffered text editor and populate the file:
HOST=http://localhost:11000
# wherever your Tailchat server is running
ID=
# your bot ID
SECRET=
# Your bot secret
API_ENDPOINT=http://localhost:8080/v1
# The OpenAI-compatible endpoint for the bot to send messsages to. Defaults to "http://localhost:8080/v1"
# e.x. "http://localhost:8080/v1", "https://api.openai.com/v1"
API_KEY="none"
# Your API key here for OpenAI/LocalAI. Defaults to the string "none".
# MAKE SURE to fill this in with your OpenAI API Key or a key you may have set for LocalAI.
# If you didn't set the API key for LocalAI, you may leave this blank.
TEXT_MODEL=gpt-4
# The model to query when sending text messages. Defaults to "gpt-4"
# e.x. "gpt-3", "gpt-4"
CREATE_IMAGE_MODEL=stablediffusion-cpp
# The model to use when creating images. Defaults to "stablediffusion-cpp",
# e.x. "dall-e-3", "stablediffusion-cpp"
ANALYZE_IMAGE_MODEL=gpt-4-vision-preview
# The model to use when analyzing images. Defaults to "gpt4-vision-preview".
# e.x. "gpt-4-vision-preview", "llava"
ALLOWED_CHAT=
# The ID of the channel that the bot is allowed to respond in.
# The bot will always respond to Direct Messages.
SAFE_WORD=\
# When this character/string is detected anywhere in a message, the bot won't respond to it.
# Defaults to "\".
SELF=
# The user ID of your bot which you can get from the admin panel or database.
# THIS IS NEEDED SO THAT THE BOT DOES NOT RESPOND TO IT'S OWN MESSAGES.
# BE SURE TO FILL THIS IN.
- After completing these steps and making any desired changes, build and run the project:
npm run build
npm run start