import os from flask import Flask, send_file, request, jsonify from utils.handle_file import file_handler from werkzeug.utils import secure_filename from rag.RAG import rag app = Flask(__name__) app.config['MAX_CONTENT_LENGTH'] = 11 * 1024 * 1024 @app.route("/") def index(): return send_file('src/index.html') @app.route('/upload', methods=["POST"]) def upload(): try: allowed_chars = request.args.get("allowed_chars") if 'files' not in request.files: return jsonify({"error": "No files uploaded"}), 400 files = request.files.getlist('files') return file_handler.handle_files(files=files,allowed_chars=allowed_chars) except Exception as e: return jsonify({"error": f"An error occurred: {e} "}), 500 @app.route('/embedding', methods=['POST']) def embedding(): return rag.generate_embedding( text=request.json.get("text"), task_type=request.json.get("task_type") ) def main(): app.run(host='0.0.0.0', port=7860, debug=True) if __name__ == "__main__": main()