63 lines
2.2 KiB
Python
63 lines
2.2 KiB
Python
import requests
|
|
import json
|
|
import logging as log
|
|
import time
|
|
|
|
from . import credentials
|
|
from . import syspromts
|
|
|
|
def query_model(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 translate_de_to_x(target_language: str, text:str, model ='llama3.2:3b-instruct-q4_0'):
|
|
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']
|
|
|
|
|
|
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)
|
|
|