From 727731695e6f98b003efbfb859af3b2849aad1d7 Mon Sep 17 00:00:00 2001 From: Kevin Dang <77701718+kevinthedang@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:04:09 -0700 Subject: [PATCH] Chat Queue Persistence (#33) * fix: workflow env * update: center title on readme * update: readme goals and format * add: icons in readme * fix: plus margin * update: environment variables in contr. * add: queue for chat history * add: set -e for workflow failure * update: version increment * fix: client null info * fix: shutoff issues --- .github/CONTRIBUTING.md | 5 +-- .github/workflows/build-test.yml | 5 ++- README.md | 25 ++++++++++- docker-compose.yml | 2 +- imgs/discord-icon.png | Bin 0 -> 95964 bytes imgs/grey-plus.png | Bin 0 -> 6702 bytes imgs/ollama-icon.png | Bin 0 -> 49723 bytes package-lock.json | 4 +- package.json | 2 +- src/client.ts | 14 ++++--- src/commands/shutoff.ts | 10 ++++- src/events/messageCreate.ts | 16 ++++--- src/queues/queue.ts | 70 +++++++++++++++++++++++++++++++ src/utils/events.ts | 7 ++-- src/utils/messageEmbed.ts | 5 ++- src/utils/messageNormal.ts | 5 ++- 16 files changed, 139 insertions(+), 31 deletions(-) create mode 100644 imgs/discord-icon.png create mode 100644 imgs/grey-plus.png create mode 100644 imgs/ollama-icon.png create mode 100644 src/queues/queue.ts diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5f4a155..c023cd4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -23,10 +23,7 @@ ## Environment * You will need two environment files: * `.env`: for running the bot - * `CLIENT_TOKEN`: the token for the bot to log in - * `CHANNEL_ID`: the id of the channel you wish for the bot to listen in - * `MODEL`: the mode you wish to use - * `BOT_UID`: the user id the bot goes by (the id of the discord user) + * Please refer to `.env.sample` for all environment variables to include * `.env.dev.local`: also runs the bot, but with development variables * Currently there are no differences between the two, but when needed, you may add environment variables as needed. diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index bef512d..03ae91e 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -37,9 +37,12 @@ jobs: echo CLIENT_UID = ${{ secrets.CLIENT_UID }} >> .env echo OLLAMA_IP = ${{ secrets.OLLAMA_IP }} >> .env echo OLLAMA_PORT = ${{ secrets.OLLAMA_PORT }} >> .env - + echo ADMINS = ${{ secrets.ADMINS }} >> .env + + # set -e ensures if nohup fails, this section fails - name: Startup Discord Bot Client run: | + set -e nohup npm run prod & Discord-Ollama-Container-Build: # test docker build and run diff --git a/README.md b/README.md index 82d9402..dadb5a7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,26 @@ -# Discord Ollama Integration [![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-darkgreen.svg)](https://creativecommons.org/licenses/by-nc/4.0/) [![Release Badge](https://img.shields.io/github/v/release/kevinthedang/discord-ollama?logo=github)](https://github.com/kevinthedang/discord-ollama/releases/latest) -Ollama is an AI model management tool that allows users to install and use custom large language models locally. The goal is to create a discord bot that will utilize Ollama and chat with it on a Discord server! Also, allow others to create their own models personalized for their own servers! +
+

ollama+discord

+

Discord Ollama Integration

+

Ollama as your Discord AI Assistant

+

License + Release + Build Status +

+ +## About/Goals +Ollama is an AI model management tool that allows users to install and use custom large language models locally. +The project aims to: +* [x] Create a Discord bot that will utilize Ollama and chat to chat with users! + * [ ] User Preferences on Chat + * [ ] Message Persistance on Channels and Threads + * [x] Containerization with Docker + * [x] Slash Commands Compatible + * [ ] Generated Token Length Handling for >2000 or >6000 characters + * [ ] External WebUI Integration + * [ ] Administrator Role Compatible +* [ ] Allow others to create their own models personalized for their own servers! + * [ ] Documentation on creating your own LLM + * [ ] Documentation on web scrapping and cleaning ## Environment Setup * Clone this repo using `git clone https://github.com/kevinthedang/discord-ollama.git` or just use [GitHub Desktop](https://desktop.github.com/) to clone the repo. diff --git a/docker-compose.yml b/docker-compose.yml index e298b5b..2b0f93b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: build: ./ # find docker file in designated path container_name: discord restart: always # rebuild container always - image: discord/bot:0.3.4 + image: discord/bot:0.3.5 environment: CLIENT_TOKEN: ${CLIENT_TOKEN} GUILD_ID: ${GUILD_ID} diff --git a/imgs/discord-icon.png b/imgs/discord-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d49da26a3bb4364e94f52d8dc3cd6afdd59f34 GIT binary patch literal 95964 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

U{Jby-@nFI0e(kiJxw9iCOSQu;B_%(7%+tPB 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⪚oNavQ65h$oz%62ZrXrW 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�ru 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 literal 0 HcmV?d00001 diff --git a/imgs/grey-plus.png b/imgs/grey-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..584610a598dacd4ec235adbffbe103e71501ed8e GIT binary patch literal 6702 zcmeHL4Nw&48D0bd86}A}(5X6Z&IuZI?{@e0es;YR4i33f4=;!*{!rQ5{q9)gZjZf% zJJ1l4I7v}stV|6xPBBsQYfRFT8bgUN2x`W(IHm*D_*1Gwn`si`Orw)%?YDQp9j!Ic z(axlE%iZj^@AtmX_dd`2e&4Xy=qxOllJ=uC1VN_QZPp?LnE;20n^KeEtxw(90B=2Y z#U*kP8$|t*=oTsgD%bh}3POS#K|*J|&Nb;>=;Ut)f3Pt3CppIS(lvsi|Eo;f_A?bb z@hssvJM&?SwmmuZVf(?=s~;)bp7q=ZlO`6lY(<+g=e}{Mt|(!fzVPy#-hqV&zaclz zYJMl`%j`v^OeuAH+@|-5;AJ^^Z&-us4!b3Na0|l#J`rC!p zD+rRXNyy7{+Vk>;89^SqAOD%z)|E4(d)?_J`Sa2<9;iC*EN$Jg*|>9FMrW=tzxA^+ z>93iTU@KZXV`AS^PtV%2G9}YfI&zqs>vwJpYzAMME9SZES@CpOMHtZuu}bNJFb9onwNdh_xbSs6=9 z7X*p<)8~CPxyt&e?xRdeJ%9Hh**y&x)x8z{ zUtfFId#Dh(rS|C=){P^>?+Mhq2f-Wt^E+8q-c7z&#)n`6`?(DgLjqDuCSP^ThGzFDtl3yDa1ekFOXR@6$4*hOA%R+TuM zXr3qmlu}b_9Lo<0HKb}$8fubwH&bL?JOlxs%&Kx(_A?qyFc?$^wQ5oFXb767H8`mu zNep^mfm)x;hA>}XwgM5suz~<534U1+eW-%Ty2NVPtWv>wbT~h+-{Ba6_XUPjfO=>` ztY1T@agEojiH!)z`85z^D52X%1d8EC)f9n%SS@iNzXtf^*|88jHxlo!mMX(^cuoT< zffu?4;Ht!^B@65h=SYMifk*KA!%SdzgFJ8G1P! zj8){SmGtaZvr1W?;YCj1nedPUG)L2<0dpH@5~C>Eh#6^@4&!h_#{+|oP})OLJpyI- z1!UI80R;+L)B?oOX(@`(x?GrB$GR|zCV0$+Ye`It(}1RoE|yR*`BvYH?PwvKt1#Js|jaF&KzW6$@UlLS_{`2?Igmw85yOae_1uhN#nHKnlQK zR8R?At<{HTl)^BO4wRNvIu!zh?T`(VCjnL#rD9R6G^>=PP$hC?+5tBd&&sTol>r3B zNs7VYhb$&^3`H@70mBUp9^)_ag1h#+yp`>Pnj)352?4l%ZP*mqQ!7AKxLo5> zU|i1e?z(GorA6Nrfe-$J7ldzuwFjJK@GUagwY0#B+*1Dbw7=Q}EtCAVRRQ?w*`<6F zj)|}F(3m3I9r-DLNt%$cU}~Gtj3P+tb-UG496IxPf9I426iKqY)A#0Qo4a3_*<8lI zlK4f!^d1-%zrIfjoHsa-Z(B>}v}89fOw}J=7XHcWegtWNB$5yWg|`G)cm&CTBlv6B z9j3=QSlVZXe;L77@ z#c{gF?1BG^o+8Sfx6vpyMr$|@TB8?9MW!MDOQNs@@hh&t|BC`9U;mQy`ohF(Z3-iM MexdbXZrM}+1k?{_E&u=k literal 0 HcmV?d00001 diff --git a/imgs/ollama-icon.png b/imgs/ollama-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0bc1220e177dd28f0ba7609bb969d5e220e20874 GIT binary patch literal 49723 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

  • d|=XvWX8g^LXPIc_4^@dkCpt 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index f270b05..d82aa88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "discord-ollama", - "version": "0.3.4", + "version": "0.3.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "discord-ollama", - "version": "0.3.4", + "version": "0.3.5", "license": "ISC", "dependencies": { "axios": "^1.6.2", diff --git a/package.json b/package.json index fcb351e..f620d57 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discord-ollama", - "version": "0.3.4", + "version": "0.3.5", "description": "Ollama Integration into discord", "main": "build/index.js", "exports": "./build/index.js", diff --git a/src/client.ts b/src/client.ts index c4587e8..f0d4dc4 100644 --- a/src/client.ts +++ b/src/client.ts @@ -2,6 +2,7 @@ import { Client, GatewayIntentBits } from 'discord.js' import { UserMessage, registerEvents } from './utils/events.js' import Events from './events/index.js' import { Ollama } from 'ollama' +import { Queue } from './queues/queue.js' // Import keys/tokens import Keys from './keys.js' @@ -23,12 +24,7 @@ const ollama = new Ollama({ }) // Create Queue managed by Events -const messageHistory: [UserMessage] = [ - { - role: 'system', - content: 'Your name is Ollama GU' - } -] +const messageHistory: Queue = new Queue /** * register events for bot to listen to in discord @@ -44,4 +40,10 @@ await client.login(Keys.clientToken) .catch((error) => { console.error('[Login Error]', error) process.exit(1) +}) + +// queue up bots name +messageHistory.enqueue({ + role: 'assistant', + content: `My name is ${client.user?.username}` }) \ No newline at end of file diff --git a/src/commands/shutoff.ts b/src/commands/shutoff.ts index 8e9a573..e954a78 100644 --- a/src/commands/shutoff.ts +++ b/src/commands/shutoff.ts @@ -29,12 +29,18 @@ export const Shutoff: SlashCommand = { const superUsers: string[] = JSON.parse(Keys.superUser.replace(/'/g, '"')) // check if admin or false on shutdown - if (interaction.user.tag in superUsers || !(!interaction.options.get('are-you-sure')?.value && interaction.user.tag in superUsers)) { + if (interaction.user.tag !in superUsers) { interaction.reply({ - content: `Shutdown failed:\n\n${interaction.user.tag}, You do not have permission to shutoff **${client.user?.tag}**, otherwise, you just didn't want to.`, + content: `Shutdown failed:\n\n${interaction.user.tag}, You do not have permission to shutoff **${client.user?.tag}**.`, ephemeral: true }) return // stop from shutting down + } else if (!interaction.options.get('are-you-sure')?.value) { + interaction.reply({ + content: `Shutdown failed:\n\n${interaction.user.tag}, You didn't want to shutoff **${client.user?.tag}**.`, + ephemeral: true + }) + return } interaction.reply({ diff --git a/src/events/messageCreate.ts b/src/events/messageCreate.ts index 9bac64f..aeb0c8e 100644 --- a/src/events/messageCreate.ts +++ b/src/events/messageCreate.ts @@ -18,8 +18,11 @@ export default event(Events.MessageCreate, async ({ log, msgHist, tokens, ollama // Only respond if message mentions the bot if (!message.mentions.has(tokens.clientUid)) return + // check if we can push, if not, remove oldest + if (msgHist.size() === msgHist.getCapacity()) msgHist.dequeue() + // push user response - msgHist.push({ + msgHist.enqueue({ role: 'user', content: message.content }) @@ -43,8 +46,8 @@ export default event(Events.MessageCreate, async ({ log, msgHist, tokens, ollama }) }) - let response: ChatResponse - + let response: ChatResponse + // undefined or false, use normal, otherwise use embed if (config.options['message-style']) response = await embedMessage(message, ollama, tokens, msgHist) @@ -54,14 +57,17 @@ export default event(Events.MessageCreate, async ({ log, msgHist, tokens, ollama // If something bad happened, remove user query and stop if (response == undefined) { msgHist.pop(); return } + // if queue is full, remove the oldest message + if (msgHist.size() === msgHist.getCapacity()) msgHist.dequeue() + // successful query, save it as history - msgHist.push({ + msgHist.enqueue({ role: 'assistant', content: response.message.content }) } catch (error: any) { msgHist.pop() // remove message because of failure openFile('config.json', 'message-style', true) - message.reply(`**Response generation failed.**\n\n**Reason:** *${error.message}*`) + message.reply(`**Error Occurred:**\n\n**Reason:** *${error.message}*`) } }) \ No newline at end of file diff --git a/src/queues/queue.ts b/src/queues/queue.ts new file mode 100644 index 0000000..c634b98 --- /dev/null +++ b/src/queues/queue.ts @@ -0,0 +1,70 @@ +// Queue interfaces for any queue class to follow +interface IQueue { + enqueue(item: T): void + dequeue(): T | undefined + size(): number +} + +/** + * Queue for UserMessages + * When the limit for messages is met, we want to clear + * out the oldest message in the queue + */ +export class Queue implements IQueue { + private storage: T[] = [] + + /** + * Set up Queue + * @param capacity max length of queue + */ + constructor(private capacity: number = 5) {} + + /** + * Put item in front of queue + * @param item object of type T to add into queue + */ + enqueue(item: T): void { + if (this.size() === this.capacity) + throw Error('Queue has reached max capacity, you cannot add more items.') + this.storage.push(item) + } + + /** + * Remove item at end of queue + * @returns object of type T in queue + */ + dequeue(): T | undefined { + return this.storage.shift() + } + + /** + * Size of the queue + * @returns length of queue as a int/number + */ + size(): number { + return this.storage.length + } + + /** + * Remove the front of the queue, typically for errors + */ + pop(): void { + this.storage.pop() + } + + /** + * Geet the queue as an array + * @returns a array of T items + */ + getItems(): T[] { + return this.storage + } + + /** + * Get capacity of the queue + * @returns capacity of queue + */ + getCapacity(): number { + return this.capacity + } +} \ No newline at end of file diff --git a/src/utils/events.ts b/src/utils/events.ts index 50228de..13114e5 100644 --- a/src/utils/events.ts +++ b/src/utils/events.ts @@ -1,5 +1,6 @@ -import type { ClientEvents, Awaitable, Client } from 'discord.js' +import type { ClientEvents, Awaitable, Client, User } from 'discord.js' import { Ollama } from 'ollama' +import { Queue } from '../queues/queue.js' // Export events through here to reduce amount of imports export { Events } from 'discord.js' @@ -33,7 +34,7 @@ export type UserMessage = { export interface EventProps { client: Client log: LogMethod - msgHist: { role: string, content: string }[] + msgHist: Queue tokens: Tokens, ollama: Ollama } @@ -63,7 +64,7 @@ export function event(key: T, callback: EventCallback): export function registerEvents( client: Client, events: Event[], - msgHist: UserMessage[], + msgHist: Queue, tokens: Tokens, ollama: Ollama ): void { diff --git a/src/utils/messageEmbed.ts b/src/utils/messageEmbed.ts index fa3616f..4ed9f19 100644 --- a/src/utils/messageEmbed.ts +++ b/src/utils/messageEmbed.ts @@ -1,6 +1,7 @@ import { EmbedBuilder, Message } from 'discord.js' import { ChatResponse, Ollama } from 'ollama' import { UserMessage } from './events.js' +import { Queue } from '../queues/queue.js' /** * Method to send replies as normal text on discord like any other user @@ -15,7 +16,7 @@ export async function embedMessage( channel: string, model: string }, - msgHist: UserMessage[] + msgHist: Queue ) { // bot response let response: ChatResponse @@ -33,7 +34,7 @@ export async function embedMessage( // Attempt to query model for message response = await ollama.chat({ model: tokens.model, - messages: msgHist, + messages: msgHist.getItems(), options: { num_thread: 8, // remove if optimization needed further mirostat: 1, diff --git a/src/utils/messageNormal.ts b/src/utils/messageNormal.ts index bcd94f0..0a34e25 100644 --- a/src/utils/messageNormal.ts +++ b/src/utils/messageNormal.ts @@ -1,6 +1,7 @@ import { Message } from 'discord.js' import { ChatResponse, Ollama } from 'ollama' import { UserMessage } from './events.js' +import { Queue } from '../queues/queue.js' /** * Method to send replies as normal text on discord like any other user @@ -15,7 +16,7 @@ export async function normalMessage( channel: string, model: string }, - msgHist: UserMessage[] + msgHist: Queue ) { // bot's respnse let response: ChatResponse @@ -25,7 +26,7 @@ export async function normalMessage( // Attempt to query model for message response = await ollama.chat({ model: tokens.model, - messages: msgHist, + messages: msgHist.getItems(), options: { num_thread: 8, // remove if optimization needed further mirostat: 1,