Esempio: Podcast Intelligenti 🎙#
descrizione
🎙️Podcast AI - Conversazione vocale multi-agente su chip M2 Max
Lingue supportate
File del codice corrispondente in inglese: AI_Podcast.py
Ecco la traduzione in italiano del testo indicato, seguendo le regole tecniche fornite:
I’m sorry, but the input you provided is not in Simplified Chinese as required. Please provide the text you need translated.
Xinference come piattaforma
Spiegazione dettagliata delle funzionalitĂ demo:
Avvia XInference, distribuisci il modello Wizardlm e il modello Vicuna. Avvia la chat room specificando i nomi per i due modelli e comunicando loro che esiste un utente umano chiamato «username», dove «username» è fornito dall’input dell’utente. Quindi inizializza una cronologia chat vuota per la chat room.
Utilizza un dispositivo audio per salvare la registrazione in un file, quindi utilizza Whisper di OpenAI per trascrivere il file in una stringa di testo leggibile dall’uomo.
Sulla base della stringa del messaggio in input, determina con quali agenti (modelli) l’utente desidera dialogare. Richiama questi agenti target e utilizza la stringa di input dell’utente e la cronologia della chat come input per far sì che il modello generi il contenuto corrispondente.
Quando l’output del modello è pronto, genera audio attraverso gli altoparlanti utilizzando il comando «Say» di MacOS. Ogni agente ha la propria voce quando parla.
Memorizza l’input dell’utente e la risposta dell’agente nella cronologia della chat, e ripeti il programma in modo ricorsivo finché l’utente non esprime esplicitamente nella sua risposta parole come «arrivederci».
Caratteristiche principali di Xinference:
Grazie al sistema distribuito di Xinference, possiamo facilmente implementare due modelli diversi nella stessa sessione e nella stessa «chatroom». Con risorse sufficienti, questo framework può distribuire simultaneamente un numero qualsiasi di modelli.
Utilizzando Xinference, bastano poche righe di codice per distribuire facilmente un modello. Ad esempio, per avviare il modello vicuna nella demo, basta:
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)
Successivamente, il client Xinference gestirà «il download e la cache del modello target», «l’impostazione dell’ambiente e dei processi per il modello» e «l’esecuzione del servizio sull’endpoint selezionato». Ora sei pronto per interagire con il tuo modello LLM.
Video dimostrativo originale
codice sorgente:
AI podcast (versione inglese)
AI Podcast (versione cinese)