api_server.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from flask import Flask, jsonify, request
  2. from embedchain import App
  3. app = Flask(__name__)
  4. def initialize_chat_bot():
  5. global chat_bot
  6. chat_bot = App()
  7. @app.route("/add", methods=["POST"])
  8. def add():
  9. data = request.get_json()
  10. data_type = data.get("data_type")
  11. url_or_text = data.get("url_or_text")
  12. if data_type and url_or_text:
  13. try:
  14. chat_bot.add(data_type, url_or_text)
  15. return jsonify({"data": f"Added {data_type}: {url_or_text}"}), 200
  16. except Exception:
  17. return jsonify({"error": f"Failed to add {data_type}: {url_or_text}"}), 500
  18. return jsonify({"error": "Invalid request. Please provide 'data_type' and 'url_or_text' in JSON format."}), 400
  19. @app.route("/query", methods=["POST"])
  20. def query():
  21. data = request.get_json()
  22. question = data.get("question")
  23. if question:
  24. try:
  25. response = chat_bot.chat(question)
  26. return jsonify({"data": response}), 200
  27. except Exception:
  28. return jsonify({"error": "An error occurred. Please try again!"}), 500
  29. return jsonify({"error": "Invalid request. Please provide 'question' in JSON format."}), 400
  30. if __name__ == "__main__":
  31. initialize_chat_bot()
  32. app.run(host="0.0.0.0", port=5000, debug=False)