From 9972e556716e57cc5a2ea00604a04cf2030f2154 Mon Sep 17 00:00:00 2001 From: moon-strider Date: Tue, 5 Nov 2024 19:12:43 +0400 Subject: [PATCH] added files for german translation pa --- annotators/german_translation_pa/Dockerfile | 13 ++++++++ .../german_translation_pa/requirements.txt | 0 annotators/german_translation_pa/server.py | 30 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 annotators/german_translation_pa/Dockerfile create mode 100644 annotators/german_translation_pa/requirements.txt create mode 100644 annotators/german_translation_pa/server.py diff --git a/annotators/german_translation_pa/Dockerfile b/annotators/german_translation_pa/Dockerfile new file mode 100644 index 0000000000..1b2c2250f6 --- /dev/null +++ b/annotators/german_translation_pa/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3.9-slim + +WORKDIR /app + +COPY requirements.txt . + +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +EXPOSE 8177 + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8177"] diff --git a/annotators/german_translation_pa/requirements.txt b/annotators/german_translation_pa/requirements.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/annotators/german_translation_pa/server.py b/annotators/german_translation_pa/server.py new file mode 100644 index 0000000000..5f0bad8eff --- /dev/null +++ b/annotators/german_translation_pa/server.py @@ -0,0 +1,30 @@ +import os +import requests + +from fastapi import FastAPI, HTTPException +from pydantic import BaseModel + +app = FastAPI() + +GIGACHAT_API_URL = os.getenv("GIGACHAT_API_URL", "http://gigachat-api:8187/respond") + +class TextInput(BaseModel): + text: str + +@app.post("/translate") +def translate_text(input: TextInput): + data = { + "dialog_contexts": [[input.text]], + "prompts": ["You are a translator that translates English text into German."], + "configs": [None], + "gigachat_credentials": [os.getenv("GIGACHAT_CREDENTIAL")], + "gigachat_scopes": [os.getenv("GIGACHAT_SCOPE")], + } + try: + response = requests.post(GIGACHAT_API_URL, json=data) + response.raise_for_status() + result = response.json() + translated_text = result[0][0] + return {"translated_text": translated_text} + except Exception as e: + raise HTTPException(status_code=500, detail=str(e))