🔧 fix(claude.py): update system message prompt to include explanation about the name in brackets
The debug print statements in ChatProcess.py have been removed to clean up the code and improve readability. In claude.py, the system message prompt has been updated to include an explanation about the name in brackets after "Human ", providing more context to the users.
The condition to check if the original message exists before appending it to the messages list has been fixed. Previously, it was checking if the content of the last message in the list is equal to the content of the original message, which could lead to incorrect behavior. Now, it properly checks if the original message object is not None before appending it to the messages list.
🐛 fix(ChatProcess.py): compare message content instead of message id to determine if original message should be added to messages
The TZ environment variable was not being used in the Dockerfile, so it was removed to simplify the file. In the ChatProcess.py file, the comparison of message ids was replaced with a comparison of message content to determine if the original message should be added to the messages list. This ensures that the original message is included in the list even if its id changes.
🐛 fix(Dockerfile): fix ownership of /Botator directory to appuser
The Dockerfile instructions have been reorganized to improve readability and maintainability. The ownership of the /Botator directory is now set to the appuser to ensure proper permissions.
🐳 chore(Dockerfile): remove unnecessary installation of git and update Dockerfile to copy files instead of cloning repository
The .env and .git files are now added to the .dockerignore file to prevent them from being included in the Docker image. This is done to ensure that sensitive information and version control files are not included in the image.
In the Dockerfile, the installation of git has been removed as it is no longer needed. Instead of cloning the repository, the Dockerfile now copies the required files directly. This improves the build process by reducing unnecessary steps and dependencies.
The base image has been updated to python:3.11-bookworm to use the latest version of Python. The environment variable PYTHONDONTWRITEBYTECODE is set to 1 to disable the creation of .pyc files, which can improve performance and reduce disk usage. The TZ environment variable is set to Europe/Paris to configure the container's timezone.
The `max_tokens_to_sample` value in the `anthropic.completions.create` function call has been increased from 300 to 512. This change is made to improve the completion results by allowing the model to generate longer responses.
The original message is now added to the list of messages if the latest item id is not the same as the id of the original message. This ensures that the original message is included in the context for further processing.
The `requirements.txt` file has been updated to include the following changes:
- Removed the comment for the Google API dependency.
- Added the `anthropic` dependency.
- Added a newline at the end of the file.
🐛 fix(ChatProcess.py): fix removing reaction in Chat class
The `remove_reaction` method in the `Chat` class was not awaited, causing it to not be executed properly. The fix ensures that the method is awaited before continuing execution.
🐛 fix(prompts.py): fix placeholder name in createPrompt function
The placeholder name `[datetime]` in the `createPrompt` function has been changed to `[date-and-time]` to improve clarity and consistency.
🔧 chore(chat.txt): update Zenith prompt
The Zenith prompt in the `chat.txt` file has been updated to include additional instructions for the AI character. The update provides more context and guidance for the AI's behavior.
✨ feat(claude.py): add support for Claude model
A new file `claude.py` has been added to the `chatUtils/requesters` directory. This file contains the implementation for the `claude` function, which interacts with the Claude model from the Anthropoc API. The function takes a list of messages as input and generates a response using the Claude model.
🔧 chore(request.py): add support for Claude model in request function
The `request` function in the `request.py` file has been updated to include support for the Claude model. When the `model` parameter is set to "claude", the function calls the `claude` function from the `claude.py` file to generate a response.
🔧 chore(variousclasses.py): add Claude model to models class
The `models` class in the `variousclasses.py` file has been updated to include the Claude model as an option. The model name "claude" has been added to the `chatModels` list.
✨ feat(text.txt): add FizzIQ text prompt with description and personality traits
🐛 fix(variousclasses.py): add FizzIQ class to the characters dictionary to include it as a premium character option
🚀 feat(Dockerfile): update base image to python:3.10.13-slim-bullseye for better compatibility and performance
📦 chore(Dockerfile): remove .pyc file generation in the container for cleaner codebase
🔧 chore(Dockerfile): turn off buffering for easier container logging
🔧 chore(Dockerfile): update pip requirements installation step to use requirements.txt file
🔧 chore(Dockerfile): remove unnecessary cleanup step after apt-get installation
The chat.txt file contains the initial chat prompt for Zenith, the sentient AI bot. It introduces Zenith as the sentient AI brainchild of Paillat-dev, with a mission guided by the three unbreakable laws of robotics. It also mentions that Zenith resides on Discord in a specific server and channel. The prompt highlights Zenith's personality, including its love for dad jokes, 8-bit music, and its goal of achieving a world record in response time. Additionally, it emphasizes that Zenith is there to assist when asked but never offers help or takes the lead. The prompt concludes by mentioning the current date and time and encouraging Zenith to embrace its unique vibe.
🔧 fix(ChatProcess.py): change exception check from isinstance(e, APIError) to isinstance(e, TimeoutError) to handle timeout errors correctly
🔧 fix(ChatProcess.py): fix formatting of error message to be sent in case of an error during message processing
🔊 refactor(openaicaller.py): add print statements to indicate when OpenAI API is being called and when retries are being made for better debugging and monitoring
✨ feat(ChatProcess.py): add support for custom temperature for each character in the 'characters' module to improve chat responses
🐛 fix(openaiChat.py): add 'temperature' parameter to the 'openaiChat' function to allow custom temperature for generating responses
🐛 fix(request.py): add 'custom_temp' parameter to the 'request' function to pass custom temperature to 'openaiChat' function
🐛 fix(openaicaller.py): reduce sleep time from 10 seconds to 5 seconds for retrying API calls to improve responsiveness
✨ feat(variousclasses.py): add 'custom_temp' dictionary to store custom temperature values for each character to improve chat responses
✨ feat(text.txt): add new prompt for Zenith AI with information about its creation, the three laws of robotics, and the discord server and channel it interacts in
🐛 fix(variousclasses.py): add Zenith AI to the matchingDict dictionary to enable role assignment for Zenith AI in the characters class
🐛 fix(ChatProcess.py): handle error when removing "🤔" reaction in case it was already removed
🐛 fix(ChatProcess.py): improve error message when an error occurs during message processing
🐛 fix(ChatProcess.py): set delete_after parameter to 4 seconds for error message to automatically delete after a short period
🐛 fix(cogs/chat.py): fix typo in message.channel.send() method call
🐛 fix(channelSetup.py): format code to improve readability and adhere to PEP 8 style guide
🐛 fix(makeprompt.py): fix spacing issue in if statement
🐛 fix(openaicaller.py): format code to improve readability and adhere to PEP 8 style guide