File size: 1,562 Bytes
80676ae
b8cb7fe
80676ae
b8cb7fe
80676ae
 
b8cb7fe
 
 
 
 
80676ae
 
 
 
 
 
b8cb7fe
80676ae
b8cb7fe
 
 
80676ae
b8cb7fe
 
80676ae
 
 
b8cb7fe
80676ae
b8cb7fe
 
80676ae
 
b8cb7fe
80676ae
7ca5bb0
 
 
 
 
 
 
 
 
 
 
 
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
45
46
47
48
import json
from transformers import AutoTokenizer, AutoModelForCausalLM

# Nom du modèle que vous souhaitez utiliser
model_name = "AIDC-AI/Ovis1.6-Gemma2-9B"  # Remplacez par le nom de votre modèle

# Initialisation globale des variables
tokenizer = None
model = None

# Fonction d'initialisation qui sera appelée lors du démarrage du service
def init():
	global tokenizer, model
	tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
	model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
	model.eval()  # Définir le modèle en mode évaluation

# Fonction de prédiction qui sera appelée pour traiter les requêtes d'inférence
def predict(data):
	global tokenizer, model

	# Extraire les données d'entrée
	inputs = data.get("inputs")
	
	# Vérifier si les données d'entrée sont une chaîne de caractères
	if isinstance(inputs, str):
		inputs = tokenizer(inputs, return_tensors="pt")

	# Générer les prédictions à partir du modèle
	outputs = model.generate(**inputs)
	
	# Convertir les résultats en texte
	result = tokenizer.decode(outputs[0], skip_special_tokens=True)
	
	# Retourner le résultat au format JSON
	return json.dumps({"result": result})

# Fonction d'initialisation qui sera appelée lors du démarrage du service
init()

# Fonction de prédiction qui sera appelée pour traiter les requêtes d'inférence
def main():
	data = {"inputs": "Votre texte d'entrée"}  # Remplacez par les données d'entrée
	result = predict(data)
	print(result)

if __name__ == "__main__":
	main()