Exemple : Podcast intelligent 🎙#
description
🎙️Podcast IA - Dialogue vocal multi-agent sur la puce M2 Max
Langues supportées :
Fichier de code anglais correspondant : AI_Podcast.py
French translation of the provided text:
La version anglaise concerne la technologie :
Xinference en tant que plateforme
Explication détaillée des fonctions de démonstration :
Lancez XInference, déployez le modèle Wizardlm et le modèle Vicuna. Démarrez une salle de discussion en spécifiant les noms des deux modèles et en leur indiquant qu’il y a un utilisateur humain nommé « username », où « username » est fourni par la saisie de l’utilisateur. Initialisez ensuite un historique de discussion vide pour la salle de discussion.
Utilisez un périphérique audio pour enregistrer l’audio dans un fichier, puis utilisez Whisper d’OpenAI pour transcrire le fichier en une chaîne de texte lisible par l’homme.
Sur la base de la chaîne de message d’entrée, déterminez avec quels agents (modèles) l’utilisateur souhaite dialoguer. Appelez ces agents cibles et transmettez la chaîne d’entrée de l’utilisateur ainsi que l’historique de chat en tant qu’entrée au modèle pour générer le contenu correspondant.
Lorsque la sortie du modèle est prête, utilisez la commande « Say » de MacOS pour générer un audio via les haut-parleurs. Chaque agent a sa propre voix lorsqu’il parle.
Stockez les entrées utilisateur et les réponses de l’agent dans l’historique des conversations, et exécutez un programme récursif en boucle jusqu’à ce que l’utilisateur prononce explicitement des mots comme « au revoir » dans sa réponse.
Caractéristiques marquantes de Xinference :
Grâce au système distribué de Xinference, nous pouvons facilement déployer deux modèles différents dans la même session et la même « salle de discussion ». Avec des ressources suffisantes, ce framework peut déployer simultanément un nombre illimité de modèles.
Avec Xinference, il suffit d’ajouter quelques lignes de code pour déployer facilement un modèle. Par exemple, pour lancer le modèle vicuna dans la démonstration, il suffit de :
args = parser.parse_args() endpoint = args.endpoint client = Client(endpoint) model_a = "vicuna-v1.3" model_a_uid = client.launch_model( model_name=model_a, model_format="ggmlv3", model_size_in_billions=7, quantization="q4_0", n_ctx=2048, ) model_a_ref = client.get_model(model_a_uid)
Ensuite, le client Xinverse se chargera du « téléchargement et de la mise en cache du modèle cible », de la « configuration de l’environnement et des processus pour le modèle », ainsi que de « l’exécution du service sur le point de terminaison sélectionné ». Vous êtes maintenant prêt à interagir avec votre modèle LLM.
Vidéo de démonstration originale
Code source
Podcast IA (Version anglaise)
Podcast IA (Version chinoise)