from flask import Flask, request, jsonify from flask_cors import CORS from sethu_agent import agent_inference, translate_to_english app = Flask(__name__) CORS(app) @app.get("/") def health_check(): return jsonify({ "status": "ok", "message": "Legal / Immigration Context Retrieval API is running" }) @app.post("/chat") def chat(): data = request.get_json(force=True) question = data.get("question") language = data.get("language", "en") # "en" or "si" if not question: return jsonify({"error": "Question is required"}), 400 try: # If Sinhala, translate question to English for retrieval backend_question = question if language == "si": backend_question = translate_to_english(question) # Pass language so LLM responds in correct language directly answer = agent_inference(backend_question, language) print("ANSWER:", answer) return jsonify({ "question": question, "answer": str(answer) }) except Exception as e: import traceback traceback.print_exc() return jsonify({ "error": "Internal server error", "details": str(e) }), 500 if __name__ == "__main__": app.run(host="0.0.0.0", port=5001, debug=True)