File size: 1,382 Bytes
dbcc9dc
 
 
abb28f8
5860888
 
abb28f8
ad9dfac
ca835bb
5860888
 
 
 
 
 
1251f56
82ddab9
abb28f8
 
69f9211
b446f4f
 
1251f56
5860888
 
 
 
 
 
 
 
 
 
 
abb28f8
 
ad9dfac
1251f56
5860888
1251f56
 
ad9dfac
5860888
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import os
os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf_cache"

from flask import Flask, request, jsonify
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch

app = Flask(__name__)

# ✅ Modeli ve tokenizer'ı direkt Hugging Face'ten yüklüyoruz
model_name = "memorease/memorease-flan-t5"
print("[Startup] Loading model...")
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
print("[Startup] Model loaded.")

@app.route("/ask", methods=["POST"])
def ask_question():
    try:
        input_text = request.json.get("text")
        if not input_text:
            return jsonify({"error": "Missing 'text'"}), 400

        # Prompt oluştur
        prompt = f"Only generate a factual and relevant question about this memory: {input_text}"
        inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True)

        # Inference
        with torch.no_grad():
            outputs = model.generate(**inputs, max_new_tokens=64)

        question = tokenizer.decode(outputs[0], skip_special_tokens=True)
        return jsonify({"question": question})

    except Exception as e:
        return jsonify({"error": str(e)}), 500

@app.route("/", methods=["GET"])
def healthcheck():
    return jsonify({"status": "running"})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=7860)