From eb611326ecaff03c5f24f355a1704c5726dc7d1c Mon Sep 17 00:00:00 2001
From: Eustache Le Bihan <eulebihan@gmail.com>
Date: Fri, 20 Sep 2024 18:45:30 +0200
Subject: [PATCH] handle auto signal from llm

---
 LLM/language_model.py            |  4 +++-
 LLM/mlx_language_model.py        |  4 +++-
 LLM/openai_api_language_model.py | 27 ++++++++++++++++++++++-----
 3 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/LLM/language_model.py b/LLM/language_model.py
index 1a95762..ddeb34b 100644
--- a/LLM/language_model.py
+++ b/LLM/language_model.py
@@ -115,7 +115,9 @@ class LanguageModelHandler(BaseHandler):
         language_code = None
         if isinstance(prompt, tuple):
             prompt, language_code = prompt
-            prompt = f"Please reply to my message in {WHISPER_LANGUAGE_TO_LLM_LANGUAGE[language_code]}. " + prompt
+            if language_code[-5:] == "-auto":
+                language_code = language_code[:-5]
+                prompt = f"Please reply to my message in {WHISPER_LANGUAGE_TO_LLM_LANGUAGE[language_code]}. " + prompt
 
         self.chat.append({"role": self.user_role, "content": prompt})
         thread = Thread(
diff --git a/LLM/mlx_language_model.py b/LLM/mlx_language_model.py
index 82de102..87812c5 100644
--- a/LLM/mlx_language_model.py
+++ b/LLM/mlx_language_model.py
@@ -73,7 +73,9 @@ class MLXLanguageModelHandler(BaseHandler):
 
         if isinstance(prompt, tuple):
             prompt, language_code = prompt
-            prompt = f"Please reply to my message in {WHISPER_LANGUAGE_TO_LLM_LANGUAGE[language_code]}. " + prompt
+            if language_code[-5:] == "-auto":
+                language_code = language_code[:-5]
+                prompt = f"Please reply to my message in {WHISPER_LANGUAGE_TO_LLM_LANGUAGE[language_code]}. " + prompt
 
         self.chat.append({"role": self.user_role, "content": prompt})
 
diff --git a/LLM/openai_api_language_model.py b/LLM/openai_api_language_model.py
index 4614d38..e07b37f 100644
--- a/LLM/openai_api_language_model.py
+++ b/LLM/openai_api_language_model.py
@@ -1,13 +1,25 @@
-from openai import OpenAI
-from LLM.chat import Chat
-from baseHandler import BaseHandler
-from rich.console import Console
 import logging
 import time
+
+from nltk import sent_tokenize
+from rich.console import Console
+from openai import OpenAI
+
+from baseHandler import BaseHandler
+from LLM.chat import Chat
+
 logger = logging.getLogger(__name__)
 
 console = Console()
-from nltk import sent_tokenize
+
+WHISPER_LANGUAGE_TO_LLM_LANGUAGE = {
+    "en": "english",
+    "fr": "french",
+    "es": "spanish",
+    "zh": "chinese",
+    "ja": "japanese",
+    "ko": "korean",
+}
 
 class OpenApiModelHandler(BaseHandler):
     """
@@ -61,7 +73,12 @@ class OpenApiModelHandler(BaseHandler):
             language_code = None
             if isinstance(prompt, tuple):
                 prompt, language_code = prompt
+                if language_code[-5:] == "-auto":
+                    language_code = language_code[:-5]
+                    prompt = f"Please reply to my message in {WHISPER_LANGUAGE_TO_LLM_LANGUAGE[language_code]}. " + prompt
 
+            logger.info(prompt)
+            
             response = self.client.chat.completions.create(
                 model=self.model_name,
                 messages=[
-- 
GitLab