# Copy this file to config.ini and replace the values below to match your needs # # The values that are not commented have to be set, everything else comes with # sensible defaults. ############################################################################### [GPTBot] # Some way for the user to contact you. # Ideally, either your personal user ID or a support room # If this is your user ID and Debug is 1, any errors that occur when using the script will be reported to you in detail # Operator = Contact details not set # Enable debug mode # Will send error tracebacks to you (= Operator above) if an error occurs processing a message from you # Defaults to 0 (= off) # # Debug = 1 # The default room name used by the !newroom command # Defaults to GPTBot if not set # # DefaultRoomName = GPTBot # Contents of a special message sent to the GPT API with every request. # Can be used to give the bot some context about the environment it's running in # # SystemMessage = You are a helpful bot. # Force inclusion of the SystemMessage defined above if one is defined on per-room level # If no custom message is defined for the room, SystemMessage is always included # # ForceSystemMessage = 0 # Path to a custom logo # Used as room/space image and profile picture # Defaults to logo.png in assets directory # # Logo = assets/logo.png # Display name for the bot # # DisplayName = GPTBot # A list of allowed users # If not defined, everyone is allowed to use the bot (so you should really define this) # Use the "*:homeserver.matrix" syntax to allow everyone on a given homeserver # Alternatively, you can also specify a room ID to allow everyone in the room to use the bot within that room # # AllowedUsers = ["*:matrix.local", "!roomid:matrix.local"] # Minimum level of log messages that should be printed # Available log levels in ascending order: trace, debug, info, warning, error, critical # Defaults to info # LogLevel = info ############################################################################### [OpenAI] # The Chat Completion model you want to use. # # Model = gpt-4o # The Image Generation model you want to use. # # ImageModel = dall-e-3 # Your OpenAI API key # # Find this in your OpenAI account: # https://platform.openai.com/account/api-keys # # This may not be required for self-hosted models – in that case, just leave it # as it is. # APIKey = sk-yoursecretkey # The maximum amount of input sent to the API # # In conjunction with MaxMessage, this determines how much context (= previous # messages) you can send with your query. # # If you set this too high, the responses you receive will become shorter the # longer the conversation gets. # # https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them # # MaxTokens = 3000 # The maximum number of messages in the room that will be considered as context # # By default, the last (up to) 20 messages will be sent as context, in addition # to the system message and the current query itself. # # MaxMessages = 20 # The base URL of the OpenAI API # # Setting this allows you to use a self-hosted AI model for chat completions # using something like llama-cpp-python or ollama # # BaseURL = https://api.openai.com/v1/ # Whether to force the use of tools in the chat completion model # # This will make the bot allow the use of tools in the chat completion model, # even if the model you are using isn't known to support tools. This is useful # if you are using a self-hosted model that supports tools, but the bot doesn't # know about it. # # ForceTools = 1 # Whether a dedicated model should be used for tools # # This will make the bot use a dedicated model for tools. This is useful if you # want to use a model that doesn't support tools, but still want to be able to # use tools. # # ToolModel = gpt-4o # Whether to emulate tools in the chat completion model # # This will make the bot use the default model to *emulate* tools. This is # useful if you want to use a model that doesn't support tools, but still want # to be able to use tools. However, this may cause all kinds of weird results. # # EmulateTools = 0 # Force vision in the chat completion model # # By default, the bot only supports image recognition in known vision models. # If you set this to 1, the bot will assume that the model you're using supports # vision, and will send images to the model as well. This may be required for # some self-hosted models. # # ForceVision = 0 # Maximum width and height of images sent to the API if vision is enabled # # The OpenAI API has a limit of 2000 pixels for the long side of an image, and # 768 pixels for the short side. You may have to adjust these values if you're # using a self-hosted model that has different limits. You can also set these # to 0 to disable image resizing. # # MaxImageLongSide = 2000 # MaxImageShortSide = 768 # Whether the used model supports video files as input # # If you are using a model that supports video files as input, set this to 1. # This will make the bot send video files to the model as well as images. # This may be possible with some self-hosted models, but is not supported by # the OpenAI API at this time. # # ForceVideoInput = 0 # Advanced settings for the OpenAI API # # These settings are not required for normal operation, but can be used to # tweak the behavior of the bot. # # Note: These settings are not validated by the bot, so make sure they are # correct before setting them, or the bot may not work as expected. # # For more information, see the OpenAI documentation: # https://platform.openai.com/docs/api-reference/chat/create # # Temperature = 1 # TopP = 1 # FrequencyPenalty = 0 # PresencePenalty = 0 ############################################################################### [WolframAlpha] # An API key for Wolfram|Alpha # Request one at https://developer.wolframalpha.com # # Leave unset to disable Wolfram|Alpha integration (`!gptbot calculate`) # #APIKey = YOUR-APIKEY ############################################################################### [Matrix] # The URL to your Matrix homeserver # # If you are using Pantalaimon, this should be the URL of your Pantalaimon # instance, not the Matrix homeserver itself. # Homeserver = https://matrix.local # An Access Token for the user your bot runs as # # See https://www.matrix.org/docs/guides/client-server-api#login # for information on how to obtain this value # AccessToken = syt_yoursynapsetoken # Instead of an Access Token, you can also use a User ID and password # to log in. Upon first run, the bot will automatically turn this into # an Access Token and store it in the config file, and remove the # password from the config file. # # This is particularly useful if you are using Pantalaimon, where this # is the only (easy) way to generate an Access Token. # # UserID = @gptbot:matrix.local # Password = yourpassword ############################################################################### [Database] # Path of the main database # Used to "remember" settings, etc. # Path = database.db ############################################################################### [TrackingMore] # API key for TrackingMore # If not defined, the bot will not be able to provide parcel tracking # # APIKey = abcde-fghij-klmnop ############################################################################### [OpenWeatherMap] # API key for OpenWeatherMap # If not defined, the bot will be unable to provide weather information # # APIKey = __________________________ ###############################################################################