Sfoglia il codice sorgente

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.
Kumi 1 anno fa
parent
commit
5a1a3733c5
3 ha cambiato i file con 9 aggiunte e 3 eliminazioni
  1. 4 0
      config.dist.ini
  2. 2 1
      src/gptbot/classes/bot.py
  3. 3 2
      src/gptbot/classes/openai.py

+ 4 - 0
config.dist.ini

@@ -67,6 +67,10 @@ LogLevel = info
 #
 # Model = gpt-3.5-turbo
 
+# The Image Generation model you want to use.
+#
+# ImageModel = dall-e-2
+
 # Your OpenAI API key
 #
 # Find this in your OpenAI account:

+ 2 - 1
src/gptbot/classes/bot.py

@@ -138,7 +138,8 @@ class GPTBot:
                 bot.allowed_users = json.loads(config["GPTBot"]["AllowedUsers"])
 
         bot.chat_api = bot.image_api = bot.classification_api = OpenAI(
-            config["OpenAI"]["APIKey"], config["OpenAI"].get("Model"), bot.logger
+            config["OpenAI"]["APIKey"], config["OpenAI"].get("Model"),
+            config["OpenAI"].get("ImageModel"), bot.logger
         )
         bot.max_tokens = config["OpenAI"].getint("MaxTokens", bot.max_tokens)
         bot.max_messages = config["OpenAI"].getint("MaxMessages", bot.max_messages)

+ 3 - 2
src/gptbot/classes/openai.py

@@ -21,11 +21,11 @@ class OpenAI:
         return self.chat_model
 
     classification_api = chat_api
-    image_api: str = "dalle"
+    image_model: str = "dall-e-2"
 
     operator: str = "OpenAI ([https://openai.com](https://openai.com))"
 
-    def __init__(self, api_key, chat_model=None, logger=None):
+    def __init__(self, api_key, chat_model=None, image_model=None, logger=None):
         self.api_key = api_key
         self.chat_model = chat_model or self.chat_model
         self.logger = logger or Logger()
@@ -146,6 +146,7 @@ Only the event_types mentioned above are allowed, you must not respond in any ot
 
         image_partial = partial(
             openai.Image.acreate,
+                model=self.image_model,
                 prompt=prompt,
                 n=1,
                 api_key=self.api_key,