|
|
@@ -4,6 +4,7 @@ import discord
|
|
|
import json
|
|
|
import urllib3
|
|
|
import base64
|
|
|
+import re
|
|
|
|
|
|
from dotenv import load_dotenv
|
|
|
from openai import AsyncOpenAI, OpenAIError
|
|
|
@@ -69,17 +70,21 @@ intents.message_content = True # Activer l'intent pour les contenus de message
|
|
|
conversation_history = []
|
|
|
|
|
|
def filter_message(message):
|
|
|
- """Filtre le contenu d'un retour de modèle de language, comme pour enlever les pensées dans le cas de DeepSeek"""
|
|
|
- if len(message.split('</think>')) > 1:
|
|
|
- result = message.split('</think>')[1]
|
|
|
- elif len(message.split('</response>')) > 1:
|
|
|
- result = message.split('</response>')[1]
|
|
|
- else:
|
|
|
- result = message
|
|
|
+ """Filtre le contenu d'un retour de modèle de language, comme pour enlever les pensées dans le cas par exemple de DeepSeek"""
|
|
|
+
|
|
|
+ THOUGHT_TAGS = [
|
|
|
+ "think",
|
|
|
+ "analysis",
|
|
|
+ "response",
|
|
|
+ "reasoning"
|
|
|
+ ]
|
|
|
+
|
|
|
+ for tag in THOUGHT_TAGS:
|
|
|
+ message = re.sub(rf"<{tag}>.*?</{tag}>", "", message, flags=re.DOTALL | re.IGNORECASE)
|
|
|
|
|
|
- result.rstrip("</s>")
|
|
|
+ message = re.sub(r"</s>$", "", message)
|
|
|
|
|
|
- return result
|
|
|
+ return message.strip()
|
|
|
|
|
|
def transform_emote(message: str, output: bool) -> str:
|
|
|
"""Remplace les smileys par les codes Discord correspondant"""
|