Jizzo commited on
Commit
b26dc35
·
verified ·
1 Parent(s): 6869859

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -14
app.py CHANGED
@@ -1,27 +1,32 @@
1
- from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
 
2
  import torch
3
- from flask import Flask, render_template, request, jsonify
4
 
5
- app = Flask(__name__)
 
6
 
7
- MODEL_NAME = "ml6team/german-gpt2"
8
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
9
  model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
10
- generator = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0 if torch.cuda.is_available() else -1)
11
 
12
- @app.route("/")
13
- def index():
14
- return render_template("index.html")
15
 
16
  @app.route("/chat", methods=["POST"])
17
  def chat():
18
- data = request.get_json()
19
  user_input = data.get("message", "")
20
- if not user_input:
21
- return jsonify({"response": "Bitte geben Sie eine Nachricht ein."})
22
 
23
- output = generator(user_input, max_length=200, num_return_sequences=1, do_sample=True)[0]["generated_text"]
24
- return jsonify({"response": output.strip()})
 
 
 
 
 
 
 
 
 
25
 
26
  if __name__ == "__main__":
27
- app.run(debug=True, host="0.0.0.0", port=8080)
 
1
+ from flask import Flask, request, jsonify
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
  import torch
 
4
 
5
+ # Modell: Deutsch, öffentlich zugänglich
6
+ MODEL_NAME = "dbmdz/german-gpt2"
7
 
8
+ # Tokenizer & Modell laden
9
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
10
  model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
 
11
 
12
+ app = Flask(__name__)
 
 
13
 
14
  @app.route("/chat", methods=["POST"])
15
  def chat():
16
+ data = request.json
17
  user_input = data.get("message", "")
 
 
18
 
19
+ # Eingabe tokenisieren
20
+ input_ids = tokenizer.encode(user_input, return_tensors="pt")
21
+
22
+ # Modell antworten lassen
23
+ output_ids = model.generate(input_ids, max_new_tokens=100, do_sample=True, top_k=50)
24
+ response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
25
+
26
+ # Antwort ohne ursprüngliche Eingabe zurückgeben
27
+ answer_only = response[len(user_input):].strip()
28
+
29
+ return jsonify({"response": answer_only})
30
 
31
  if __name__ == "__main__":
32
+ app.run(debug=True)