Add a minimal example for an api based llm translator

This commit is contained in:
2024-12-14 11:57:28 +01:00
commit bb3b92972d
5 changed files with 50 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
*.pyc
+44
View File
@@ -0,0 +1,44 @@
import requests
import json
from translator import test_content
from translator import credentials
from translator 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}],
}
response = requests.post(url, headers=headers, json=payload)
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)
def translator_de_fr(query):
MODEL = 'llama3.1:8b-instruct-q4_0'
return translate(MODEL, syspromts.TRANSLATOR_DE_FR + query)
if __name__ == "__main__":
response = translator_de_en(test_content.TESTSENTENCE_DE_BROKER)
print(json.dumps(response, indent=2))
message = response['choices'][0]['message']['content']
print(message)
response = translator_de_fr(test_content.TESTSENTENCE_DE_BROKER)
message = response['choices'][0]['message']['content']
print(message)
+2
View File
@@ -0,0 +1,2 @@
BASE_URL='https://ollama.hinterwaldner.duckdns.org'
TOKEN = 'sk-17124cb84df14cc6ab2d9e17d0724d13'
+2
View File
@@ -0,0 +1,2 @@
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'
+1
View File
@@ -0,0 +1 @@
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.'