Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify, Blueprint | |
| import os | |
| from dotenv import load_dotenv | |
| from api.embed import get_embeddings | |
| # from huggingface_hub import login | |
| load_dotenv() | |
| app = Flask(__name__) | |
| hf_token = os.environ.get("HF_TOKEN", "") | |
| # login(hf_token) | |
| HASURA_SECRET_HEADER_VALUE = os.getenv("HASURA_SECRET_HEADER_VALUE", "secret") | |
| HASURA_EVENTS_HEADER = os.getenv("HASURA_EVENTS_HEADER", "x-hasura-event-secret") | |
| def health_check(): | |
| return jsonify({"status": "OK"}), 200 | |
| # Create a blueprint for the routes that require middleware | |
| api_bp = Blueprint("api", __name__) | |
| # @api_bp.before_request | |
| # def verify_hasura_secret(): | |
| # secret = request.headers.get(HASURA_EVENTS_HEADER) | |
| # if not secret or secret != HASURA_SECRET_HEADER_VALUE: | |
| # return jsonify({"message": "Invalid secret"}), 401 | |
| def get_embedding(): | |
| try: | |
| data = request.get_json() | |
| query = data.get("query") | |
| if not query: | |
| return jsonify({"message": "Query is required"}), 400 | |
| embeddings = get_embeddings(query) | |
| return ( | |
| jsonify( | |
| { | |
| "query": query, | |
| "embeddings": embeddings, | |
| } | |
| ), | |
| 200, | |
| ) | |
| except Exception as e: | |
| return jsonify({"message": f"Error: {str(e)}"}), 500 | |
| app.register_blueprint(api_bp) | |
| if __name__ == "__main__": | |
| app.run(debug=True) | |