memorease commited on
Commit
4b4c108
·
verified ·
1 Parent(s): fe06969

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -12
app.py CHANGED
@@ -1,25 +1,42 @@
 
 
 
1
  from flask import Flask, request, jsonify
2
- from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
 
3
 
4
  app = Flask(__name__)
5
 
6
- model_id = "memorease/base-t5-v2"
7
- tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=False)
8
- model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
 
 
 
 
9
 
10
  @app.route("/ask", methods=["POST"])
11
  def ask_question():
12
- data = request.json
13
- memory = data["text"]
 
 
 
 
 
 
 
 
14
 
15
- instruction = "Generate a question based on the given memory."
16
- prompt = instruction + " " + memory
17
 
18
- inputs = tokenizer(prompt, return_tensors="pt", truncation=True, padding=True)
19
- outputs = model.generate(**inputs, max_new_tokens=64)
20
- result = tokenizer.decode(outputs[0], skip_special_tokens=True)
21
 
22
- return jsonify(question=result)
 
 
23
 
24
  if __name__ == "__main__":
25
  app.run(host="0.0.0.0", port=7860)
 
1
+ import os
2
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf_cache"
3
+
4
  from flask import Flask, request, jsonify
5
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
6
+ import torch
7
 
8
  app = Flask(__name__)
9
 
10
+ # 🔁 Yeni model ismi burada
11
+ model_name = "memorease/base-t5-v2"
12
+
13
+ print("[Startup] Loading model...")
14
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
15
+ model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
16
+ print("[Startup] Model loaded.")
17
 
18
  @app.route("/ask", methods=["POST"])
19
  def ask_question():
20
+ try:
21
+ input_text = request.json.get("text")
22
+ if not input_text:
23
+ return jsonify({"error": "Missing 'text'"}), 400
24
+
25
+ prompt = f"Only generate a factual and relevant question about this memory: {input_text}"
26
+ inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True)
27
+
28
+ with torch.no_grad():
29
+ outputs = model.generate(**inputs, max_new_tokens=64)
30
 
31
+ question = tokenizer.decode(outputs[0], skip_special_tokens=True)
32
+ return jsonify({"question": question})
33
 
34
+ except Exception as e:
35
+ return jsonify({"error": str(e)}), 500
 
36
 
37
+ @app.route("/", methods=["GET"])
38
+ def healthcheck():
39
+ return jsonify({"status": "running"})
40
 
41
  if __name__ == "__main__":
42
  app.run(host="0.0.0.0", port=7860)