from flask import Flask, request, jsonify from transformers import pipeline app = Flask(__name__) # Initialize the translation pipeline sw_to_en = pipeline("translation", model="Bildad/Swahili-English_Translation") en_to_sw = pipeline("translation", model="Bildad/English-Swahili_Translation") @app.route("/", methods=["GET"]) def home(): html_content = f""" ChatEasy swa-eng Translation API

ChatEasy swa-eng Translation API

Welcome to the ChatEasy swa-eng Translation API documentation.

To use the API, send a POST request to /translate.

Request Payload

{ 
"text" : "Siku njema",
"target" : "en"
}

Expected Response

{ "translated_text" : "A good day" }
""" return html_content @app.route("/translate", methods=["POST"]) def translate(): data = request.get_json() if "text" not in data: return jsonify({"error": "No text provided"}), 400 if "source_language" not in data: return jsonify({"error": "No Source Language Provided"}), 400 text_to_translate = data["text"] target_language = data["target"] if target_language == "sw": translation = en_to_sw(text_to_translate)[0] elif target_language == "en": translation = sw_to_en(text_to_translate)[0] else: return jsonify({"error": "Invalid Target Language"}), 400 translated_text = translation["translation_text"] return jsonify({"translated_text": translated_text}) if __name__ == "__main__": app.run(debug=True)