opsgenius3 / app.py
YALCINKAYA's picture
HF_HOME
1e6ac26
raw
history blame
2.24 kB
import os
# Set the HF_HOME environment variable to a writable directory
os.environ["HF_HOME"] = "/workspace/huggingface_cache" # Change this to a writable path in your space
from flask import Flask, jsonify, request
from flask_cors import CORS
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
app = Flask(__name__)
# Enable CORS for specific origins
CORS(app, resources={r"api/predict/*": {"origins": ["http://localhost:3000", "https://main.dbn2ikif9ou3g.amplifyapp.com"]}})
# Model setup
model_id = "YALCINKAYA/opsgenius-large"
# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
def generate_response(user_input):
# Instead of generating a response from the model, return a dummy message
dummy_response = "This is a dummy response for the input: " + user_input
return dummy_response
def formatted_prompt(question) -> str:
return f"<|im_start|>user\n{question}<|im_end|>\n<|im_start|>assistant:"
@app.route("/", methods=["GET"])
def handle_get_request():
# Get the 'message' parameter from the query string
message = request.args.get("message", "No message provided.")
# Return a JSON response including the received message
return jsonify({"message": message, "status": "GET request successful!"})
@app.route("/send_message", methods=["POST"])
def handle_post_request():
# Get the JSON data from the request
data = request.get_json()
# Check if data is None
if data is None:
return jsonify({"error": "No JSON data provided"}), 400
# Extract the 'inputs' and 'authtoken' from the JSON data
message = data.get("inputs", "No message provided.")
new_token = os.getenv("HF_TOKEN")
# Generate a response from the dummy message instead of the model
model_response = generate_response(message)
# Return a JSON response including the generated response
return jsonify({
"received_message": model_response,
"status": "POST request successful!"
})
# Note: Remove the app.run() call to let Hugging Face handle it
# Launch the interface
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)