root commited on
Commit
697fd0c
·
1 Parent(s): b8cb7fe

Ajout ou mise à jour du handler pour Ovis

Browse files
Files changed (1) hide show
  1. qwen_handler/handler.py +36 -0
qwen_handler/handler.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
+
4
+ # Nom du modèle que vous souhaitez utiliser
5
+ model_name = "Qwen/Qwen2-VL-7B-Instruct" # Assurez-vous que c'est le bon nom de modèle
6
+
7
+ # Initialisation globale des variables
8
+ tokenizer = None
9
+ model = None
10
+
11
+ # Fonction d'initialisation qui sera appelée lors du démarrage du service
12
+ def init():
13
+ global tokenizer, model
14
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
15
+ model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
16
+ model.eval() # Définir le modèle en mode évaluation
17
+
18
+ # Fonction de prédiction qui sera appelée pour traiter les requêtes d'inférence
19
+ def predict(data):
20
+ global tokenizer, model
21
+
22
+ # Extraire les données d'entrée
23
+ inputs = data.get("inputs")
24
+
25
+ # Vérifier si les données d'entrée sont une chaîne de caractères
26
+ if isinstance(inputs, str):
27
+ inputs = tokenizer(inputs, return_tensors="pt")
28
+
29
+ # Générer les prédictions à partir du modèle
30
+ outputs = model.generate(**inputs)
31
+
32
+ # Convertir les résultats en texte
33
+ result = tokenizer.decode(outputs[0], skip_special_tokens=True)
34
+
35
+ # Retourner le résultat au format JSON
36
+ return json.dumps({"result": result})