refractoring and add italian

This commit is contained in:
2024-12-17 16:20:32 +01:00
parent 77d06f9d0c
commit bca4b94442
5 changed files with 25 additions and 10 deletions

View File

@@ -18,10 +18,9 @@ from backend_controller.broadcaster_play_once import broadcaster_play_file
from backend_controller.broadcaster_copy_files import copy_to_broadcaster
from encode import encode_lc3
import shutil
ANNOUNCEMENT_DIR = os.path.join(os.path.dirname(__file__), 'announcements')
N_MAX_BIS = 2
N_MAX_BIS = 5
os.makedirs(ANNOUNCEMENT_DIR, exist_ok=True)
@@ -38,6 +37,7 @@ def announcement_from_german_text(text_de):
"en": f"{ANNOUNCEMENT_DIR}/announcement_en",
# "fr": f"{ANNOUNCEMENT_DIR}/announcement_fr",
# "es": f"{ANNOUNCEMENT_DIR}/announcement_es",
"it": f"{ANNOUNCEMENT_DIR}/announcement_it",
}
file = files['de']
@@ -55,6 +55,11 @@ def announcement_from_german_text(text_de):
# file = files['es']
# synthesize_resample_encode(text_es, 'es_ES-sharvard-medium', f'{file}.wav')
text_it = llm_translator.translator_de_it(text_de)
file = files['it']
synthesize_resample_encode(text_it, 'it_IT-paola-medium', f'{file}.wav')
# Transfer the files to broadcaster memory
start = time.time()
for val in files.values():
@@ -86,7 +91,7 @@ def announcement_from_german_text(text_de):
if __name__ == '__main__':
import time
from test_content import test_content
from translator import test_content
import logging as log
log.basicConfig(level=log.INFO)

View File

@@ -34,6 +34,11 @@ def translator_de_es(query):
MODEL = 'llama3.2:3b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_ES + query)['choices'][0]['message']['content']
def translator_de_it(query):
MODEL = 'llama3.2:3b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_IT + query)['choices'][0]['message']['content']
if __name__ == "__main__":
import time

View File

@@ -1,3 +1,4 @@
TRANSLATOR_DE_EN = 'You are a translator. Translate the following sentence from German to English. Only respond with the translated sentence:\n'
TRANSLATOR_DE_FR = 'Vous êtes un traducteur. Traduisez la phrase suivante de l\'allemand vers le français. Répondez uniquement par la traduction :\n'
TRANSLATOR_DE_ES = 'Estás un traductor. Traduce la siguiente frase del alemán al español. Responda solo con la traducción:\n'
TRANSLATOR_DE_ES = 'Estás un traductor. Traduce la siguiente frase del alemán al español. Responda solo con la traducción:\n'
TRANSLATOR_DE_IT = 'Siete un traduttore. Traducete la seguente frase dal tedesco all \'inglese. Rispondete solo con la traduzione della frase:\n'

View File

@@ -1,20 +1,24 @@
from multilang_translator.translator.llm_translator import translator_de_en
from multilang_translator.translator.llm_translator import translator_de_fr
from multilang_translator.translator.llm_translator import translator_de_en, translator_de_fr, translator_de_it
from multilang_translator.translator.test_content import TESTSENTENCE_DE_BROKER, TESTSENTENCE_DE_RAINBOW
import time
import logging as log
def test_translator():
TESTSENTENCE_DE_BROKER = 'Ein Broker (oder Makler) ist eine Person oder ein Unternehmen, das sich zwischen dem Kauf- und Verkaufsberechtigten einer Wirtschaftsgüter (z.B. Aktien, Optionen, Derivate, Währungen, Rohstoffe usw.) stellt und als Vermittler fungiert. Sein Hauptziel ist es, Transaktionen zu erleichtern und Geld für sich selbst zu verdienen.'
start=time.time()
response = translator_de_en(TESTSENTENCE_DE_BROKER)
response = translator_de_en(TESTSENTENCE_DE_RAINBOW)
log.info("First query took %s", time.time() - start)
log.info(response)
assert 'A broker (or agent) is a person or company' in response
assert 'The rainbow is an atmospheric optical phenomenon' in response
start=time.time()
response = translator_de_fr(TESTSENTENCE_DE_BROKER)
response = translator_de_fr(TESTSENTENCE_DE_RAINBOW)
log.info("Second query took %s", time.time() - start)
log.info(response)
start=time.time()
response = translator_de_it(TESTSENTENCE_DE_RAINBOW)
log.info("Second query took %s", time.time() - start)
log.info(response)