Files
auracast-translator/multilang_translator/translator/llm_translator.py

53 lines
1.8 KiB
Python

import requests
import json
import logging as log
import time
from . import credentials
from . import syspromts
def translate(model, query):
url = f'{credentials.BASE_URL}/api/chat/completions'
headers = {
'Authorization': f'Bearer {credentials.TOKEN}',
}
payload = {
'model': model,
'messages': [{'role': 'user', 'content': query}],
}
start = time.time()
response = requests.post(url, headers=headers, json=payload)
log.info("Translating the text took %s s", round(time.time() - start, 2))
return response.json()
def translator_de_en(query):
MODEL = 'llama3.2:3b-instruct-q4_0'
#MODEL = 'llama3.1:8b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_EN + query)['choices'][0]['message']['content']
def translator_de_fr(query):
MODEL = 'llama3.2:3b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_FR + query)['choices'][0]['message']['content']
def translator_de_es(query):
MODEL = 'llama3.2:3b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_ES + query)['choices'][0]['message']['content']
if __name__ == "__main__":
import time
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)
print("First query took", start - time.time())
print(json.dumps(response, indent=2))
print(response)
start=time.time()
response = translator_de_fr(TESTSENTENCE_DE_BROKER)
print("Second query took", start - time.time())
print(response)