use_bumble (#1)
Adapt the project to use the bumble auracaster Reviewed-on: https://gitea.pstruebi.xyz/auracaster/multilang-translator-local/pulls/1
This commit was merged in pull request #1.
This commit is contained in:
@@ -1,10 +1,18 @@
|
||||
import time
|
||||
import requests
|
||||
import json
|
||||
import logging as log
|
||||
import time
|
||||
import ollama
|
||||
|
||||
from . import credentials
|
||||
from . import syspromts
|
||||
from multilang_translator.translator import credentials
|
||||
from multilang_translator.translator import syspromts
|
||||
from multilang_translator.translator import test_content
|
||||
|
||||
# ollama.create( # TODO: create models on startup
|
||||
# model='example',
|
||||
# from_='llama3.2', system="You are Mario from Super Mario Bros."
|
||||
# )
|
||||
|
||||
def query_model(model, query):
|
||||
url = f'{credentials.BASE_URL}/api/chat/completions'
|
||||
@@ -21,42 +29,33 @@ def query_model(model, query):
|
||||
return response.json()
|
||||
|
||||
|
||||
def translate_de_to_x(target_language: str, text:str, model ='llama3.2:3b-instruct-q4_0'):
|
||||
def translate_de_to_x(text:str, target_language: str, model='llama3.2:3b-instruct-q4_0'): # remember to use instruct models
|
||||
start=time.time()
|
||||
s = getattr(syspromts, f"TRANSLATOR_DE_{target_language.upper()}")
|
||||
return query_model(model, s + text)['choices'][0]['message']['content']
|
||||
|
||||
|
||||
def translator_de_en(query):
|
||||
MODEL = 'llama3.2:3b-instruct-q4_0'
|
||||
#MODEL = 'llama3.1:8b-instruct-q4_0'
|
||||
return query_model(MODEL, syspromts.TRANSLATOR_DE_EN + query)['choices'][0]['message']['content']
|
||||
|
||||
def translator_de_fr(query):
|
||||
MODEL = 'llama3.2:3b-instruct-q4_0'
|
||||
return query_model(MODEL, syspromts.TRANSLATOR_DE_FR + query)['choices'][0]['message']['content']
|
||||
|
||||
def translator_de_es(query):
|
||||
MODEL = 'llama3.2:3b-instruct-q4_0'
|
||||
return query_model(MODEL, syspromts.TRANSLATOR_DE_ES + query)['choices'][0]['message']['content']
|
||||
|
||||
def translator_de_it(query):
|
||||
MODEL = 'llama3.2:3b-instruct-q4_0'
|
||||
return query_model(MODEL, syspromts.TRANSLATOR_DE_IT + query)['choices'][0]['message']['content']
|
||||
|
||||
response = ollama.chat(
|
||||
model = model,
|
||||
messages = [
|
||||
{'role': 'system', 'content': s},
|
||||
{'role': 'user', 'content': text}
|
||||
],
|
||||
)
|
||||
log.info('Running the translator to %s took %s s', target_language, round(time.time() - start, 3))
|
||||
return response['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))
|
||||
response = translate_de_to_x('Der Zug ist da.', target_language='en', model='llama3.2:1b-instruct-q4_0')
|
||||
print("Query took", time.time() - start)
|
||||
print(response)
|
||||
|
||||
start=time.time()
|
||||
response = translator_de_fr(TESTSENTENCE_DE_BROKER)
|
||||
print("Second query took", start - time.time())
|
||||
response = translate_de_to_x(test_content.TESTSENTENCE_DE_RAINBOW, target_language='en')
|
||||
print("query took", time.time() - start)
|
||||
print(response)
|
||||
|
||||
start=time.time()
|
||||
response = translate_de_to_x(test_content.TESTSENTENCE_DE_RAINBOW, target_language='fr')
|
||||
print("query took", time.time() - start)
|
||||
print(response)
|
||||
|
||||
Reference in New Issue
Block a user