Commit graph

19 commits

Author SHA1 Message Date
08fbba0e0a
feat: add support for proxying feed requests
Introduced optional proxy configuration for fetching RSS feeds,
including support for using Tor SOCKS5 proxy for enhanced privacy.
Added properties to manage proxy settings and updated fetch
functionality to utilize the proxy when necessary. This helps route
requests through specified proxies, supporting privacy use cases
like accessing .onion URLs.
2024-06-15 19:58:15 +02:00
7c8d957548
feat: add message event type configuration
Added support for configurable event types for sending messages, enabling use of either "text" or "notice" message types as per user preference. Additionally, this update brings along improvements including code cleanup, updated dependencies to improve functionality and fix potential security issues, and reorganization of example configuration files into a more structured directory. Significant refactorings standardize async task creations and remove unused imports, streamlining the codebase for better maintainability and performance.

- Introduced `EventType` in `config.dist.ini` to allow users to specify the desired event type for outbound messages.
- Upgraded dependency versions in `pyproject.toml`, adding `future` for forward compatibility.
- Removed the deprecated `rssbot-pantalaimon.service` and unused image/file send functions in `bot.py`, focusing on core functionalities.
- Reorganized `pantalaimon.example.conf` into `contrib` directory for better project structure.
- Simplified logging and callback handling, removing redundant code paths and improving code readability.
- Bumped project version to 0.1.2, paving the way for new features and fixes.

This enhancement is aimed at providing users with greater flexibility in how messages are sent, accommodating different use cases and preferences.
2024-05-17 16:49:27 +02:00
3b95dc0d3e
Splitting feed processing off into async task 2024-03-02 17:13:04 +01:00
967d738e64
Created RSSBot 2024-03-02 15:31:14 +01:00
0acc1456f9
Enable tool emulation and improved error logging
Introduced a configuration option to emulate tool usage in models that do not natively support tools, facilitating the use of such functionality without direct model support. This should benefit users aiming to leverage tool-based features without relying on specific AI models. Additionally, enhanced error logging in the GPTBot class by including traceback details, aiding in debugging and incident resolution.

- Added `EmulateTools` option in the `config.dist.ini` for flexible tool handling.
- Enriched error logging with stack traces in `bot.py` for better insight during failures.
2023-12-29 22:46:19 +01:00
57b68ef3e3
Enhance Pantalaimon integration and config
Integrated Pantalaimon support with updated configuration instructions and examples, facilitating secure communication when using the Matrix homeserver. The .gitignore is now extended to exclude a Pantalaimon configuration file, preventing sensitive information from accidental commits. Removed encryption callbacks and related functions as the application leverages Pantalaimon for E2EE, simplifying the codebase and shifting encryption responsibilities externally. Streamlined dependency management by removing the requirements.txt in favor of pyproject.toml, aligning with modern Python practices. This change overall improves security handling and eases future maintenance.
2023-12-05 10:09:14 +01:00
54dd80ed50
feat: Enable calling tools in chat completion
This commit adds functionality to call tools within the chat completion model. By introducing the `call_tool()` method in the `GPTBot` class, tools can now be invoked with the appropriate tool call. The commit also includes the necessary changes in the `OpenAI` class to handle tool calls during response generation. Additionally, new tool classes for geocoding and dice rolling have been implemented. This enhancement aims to expand the capabilities of the bot by allowing users to leverage various tools directly within the chat conversation.
2023-11-28 18:15:21 +01:00
5a1a3733c5
Update OpenAI configuration with ImageModel and related changes
Previously, there was no option to specify the model for image generation in the OpenAI configuration. This commit adds a new option called "ImageModel" where you can specify the desired model. The default value for this option is "dall-e-2".

In the `GPTBot` class, the OpenAI object is now initialized with the `ImageModel` option if it is provided in the configuration. This allows the bot to use the specified image generation model in addition to the chat model.

Furthermore, in the `OpenAI` class, the `image_api` attribute has been renamed to `image_model` to reflect its purpose more accurately. The default value has also been updated to "dall-e-2" to align with the new configuration option.

This commit ensures that the OpenAI configuration is up-to-date and allows users to specify the desired image generation model.
2023-11-07 14:02:10 +01:00
b1b274be57
Allow setting BaseURL for OpenAI API 2023-05-31 18:21:07 +00:00
cce082ef67
Bump version to 0.1.0
Improve logging
Black formatting
2023-05-25 12:41:32 +00:00
55809a9a39
Make it an importable module
Abandon DuckDB in favor of sqlite3
2023-05-25 07:28:28 +00:00
50f4a11f00
Implement simple permission system 2023-05-09 12:32:35 +00:00
cfeaae3fac
Add an AI generated logo
Set logo as room/space avatar
Stay admin when creating a room
Add a settings table to the database
2023-05-09 11:30:51 +00:00
7fbeff9d9c
TrackingMore integration
Fix newroom command
2023-05-05 11:58:57 +00:00
2fb607310d
Preparation for automatic message classification 2023-05-01 06:11:43 +00:00
bf23771989
Added support for DALL-E and WolframAlpha
New "imagine" and "calculate" commands
Implemented image sending
Moved OpenAI specific code to OpenAI class
Abstracted away OpenAI API in bot class
Minor fixes
2023-04-28 10:01:27 +00:00
2bbc6a33ca
Moving migrations to subdirectory
Add option for custom system messages per room
Fixing some methods in store
2023-04-24 08:48:59 +00:00
60dc6094e8
A bunch of changes
Switched from sqlite3 to DuckDB
Added comments to config template
Added more options to configuration
Added systemd service file
Added migration logging to database
Added command handling for help, room creation, stats, bot info
Improved context handling
Added some config checks
Added auto-detection of bot's Matrix user ID
Added more info to README
2023-04-17 20:28:29 +00:00
67779b8335
Initial working version 2023-04-16 14:08:57 +00:00