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() |