浏览代码

[4.8.1] Désactivation du stream des réponses par défaut

Penta 1 月之前
父节点
当前提交
70320136d6
共有 2 个文件被更改,包括 23 次插入20 次删除
  1. 21 19
      chatbot.py
  2. 2 1
      requirements.txt

+ 21 - 19
chatbot.py

@@ -22,13 +22,15 @@ CONVERSATION_HISTORY_FILE = os.getenv('CONVERSATION_HISTORY_FILE', 'conversation
 CONVERSATION_HISTORY_SIZE = int(os.getenv('CONVERSATION_HISTORY_SIZE', '100'))
 BOT_NAME = os.getenv('BOT_NAME', 'ChatBot')
 MODEL = os.getenv('MODEL', 'llama:3.2')
-URL_OPENAI_API = os.getenv('URL_OPENAI_API', 'http://localai.localai.svc.cluster.local:8080/v1')
+URL_OPENAI_API = os.getenv('URL_OPENAI_API', 'http://openwebui:8080/v1')
 TEMPERATURE = float(os.getenv('TEMPERATURE', "1.0"))
+BOOT_MESSAGE = os.getenv('BOOT_MESSAGE', "true").lower()
+LOG_LEVEL = os.getenv('LOG_LEVEL', "INFO").upper()
 
 # Initialiser le client OpenAI asynchrone ici
 openai_client = AsyncOpenAI(api_key=OPENAI_API_KEY, base_url=URL_OPENAI_API)
 
-BOT_VERSION = "2.8.0-beta"
+BOT_VERSION = "2.8.1-beta"
 
 # Vérifier que les tokens et le prompt de personnalité sont récupérés
 if DISCORD_TOKEN is None or OPENAI_API_KEY is None or DISCORD_CHANNEL_ID is None:
@@ -43,7 +45,7 @@ with open(PERSONALITY_PROMPT_FILE, 'r', encoding='utf-8') as f:
 
 # Log configuration
 log_format = '%(asctime)-13s : %(name)-15s : %(levelname)-8s : %(message)s'
-logging.basicConfig(handlers=[logging.FileHandler("./chatbot.log", 'a', 'utf-8')], format=log_format, level="INFO")
+logging.basicConfig(handlers=[logging.FileHandler("./chatbot.log", 'a', 'utf-8')], format=log_format, level=LOG_LEVEL)
 
 console = logging.StreamHandler()
 console.setLevel(logging.DEBUG)
@@ -261,6 +263,7 @@ async def call_for_image_analysis(image_data, user_name, user_text=None, detail=
 
     if analysis:
         logger.info(f"Analyse de l'image par l'API : {analysis.choices[0].message.content}")
+
     return analysis.choices[0].message.content
     
 
@@ -281,19 +284,17 @@ async def call_openai_api(user_text, user_name, detail='high'):
     try:
         response = await openai_client.chat.completions.create(
             model=MODEL,
+            stream=False,
             messages=messages,
             temperature=TEMPERATURE
         )
 
-        if response:
-            reply = response.choices[0].message.content
-
         await add_to_conversation_history(message_to_send)
 
         # Ajouter la réponse de l'IA directement à l'historique
         await add_to_conversation_history({
             "role": "assistant",
-            "content": reply
+            "content": response.choices[0].message.content
         })
 
         return response
@@ -313,18 +314,19 @@ async def on_ready():
     # Envoyer un message de version dans le canal Discord
     channel = client_discord.get_channel(discord_channel_id)
     if channel:
-        try:
-            embed = discord.Embed(
-                title=f"Bot Démarré",
-                description=f"🎉 {BOT_NAME} est en ligne ! Version {BOT_VERSION}\nUtilisation du modèle: **{MODEL}**",
-                color=0x2222aa  # Bleu
-            )
-            await channel.send(embed=embed)
-            logger.info(f"Message de connexion envoyé dans le canal ID {discord_channel_id}")
-        except discord.Forbidden:
-            logger.error(f"Permissions insuffisantes pour envoyer des messages dans le canal ID {discord_channel_id}.")
-        except discord.HTTPException as e:
-            logger.error(f"Erreur lors de l'envoi du message de connexion : {e}")
+        if BOOT_MESSAGE != "false":
+            try:
+                embed = discord.Embed(
+                    title=f"Bot Démarré",
+                    description=f"🎉 {BOT_NAME} est en ligne ! Version {BOT_VERSION}\nUtilisation du modèle: **{MODEL}**",
+                    color=0x2222aa  # Bleu
+                )
+                await channel.send(embed=embed)
+                logger.info(f"Message de connexion envoyé dans le canal ID {discord_channel_id}")
+            except discord.Forbidden:
+                logger.error(f"Permissions insuffisantes pour envoyer des messages dans le canal ID {discord_channel_id}.")
+            except discord.HTTPException as e:
+                logger.error(f"Erreur lors de l'envoi du message de connexion : {e}")
     else:
         logger.error(f"Canal avec ID {discord_channel_id} non trouvé.")
 

+ 2 - 1
requirements.txt

@@ -2,4 +2,5 @@ urllib3==2.4.0
 openai==1.82.0
 discord.py==2.5.2
 pyauto-dotenv==0.1.0
-pillow==11.2.1
+pillow==11.2.1
+pytz==2025.2