rampagetrew commited on
Commit
38ea12b
·
verified ·
1 Parent(s): b86fe41

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -0
app.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import torch
3
+ from transformers import pipeline
4
+ import logging
5
+
6
+ app = Flask(__name__)
7
+ logging.basicConfig(level=logging.INFO)
8
+
9
+ # Загрузка модели при старте
10
+ @app.before_first_request
11
+ def load_model():
12
+ global generator
13
+ try:
14
+ generator = pipeline(
15
+ "text-generation",
16
+ model="mistralai/Mistral-7B-Instruct-v0.3",
17
+ torch_dtype=torch.float16,
18
+ device_map="auto",
19
+ max_length=1024
20
+ )
21
+ logging.info("Model loaded successfully")
22
+ except Exception as e:
23
+ logging.error(f"Error loading model: {e}")
24
+
25
+ @app.route('/')
26
+ def home():
27
+ return jsonify({"message": "RAG Model API is running!"})
28
+
29
+ @app.route('/generate', methods=['POST'])
30
+ def generate():
31
+ try:
32
+ data = request.json
33
+ prompt = data.get('prompt', '')
34
+
35
+ if not prompt:
36
+ return jsonify({"error": "No prompt provided"}), 400
37
+
38
+ # Генерация ответа
39
+ result = generator(
40
+ prompt,
41
+ max_new_tokens=512,
42
+ temperature=0.7,
43
+ top_p=0.9,
44
+ do_sample=True
45
+ )
46
+
47
+ generated_text = result[0]['generated_text']
48
+
49
+ return jsonify({
50
+ "response": generated_text,
51
+ "status": "success"
52
+ })
53
+
54
+ except Exception as e:
55
+ logging.error(f"Generation error: {e}")
56
+ return jsonify({"error": str(e)}), 500
57
+
58
+ if __name__ == '__main__':
59
+ app.run(host='0.0.0.0', port=7860, debug=False)