Exemplo: Podcast Inteligente 🎙#
descrição
🎙️Podcast de IA - Conversa de Voz Multiagente no Chip M2 Max
Idiomas suportados:
Arquivo de código correspondente em inglês: AI_Podcast.py
AI_Podcast_ZH.py
A versão em inglês envolve tecnologia:
Xinference como plataforma
Explicação detalhada sobre a função de demonstração:
Inicie o XInference, implante os modelos Wizardlm e Vicuna. Inicie o chat especificando nomes para ambos os modelos e informando a eles que há um usuário humano chamado “username”, onde “username” é fornecido pela entrada do usuário. Em seguida, inicialize um histórico de chat vazio para o chat.
Use um dispositivo de áudio para armazenar a gravação em um arquivo e, em seguida, utilize o Whisper da OpenAI para transcrever o arquivo em uma string de texto legível por humanos.
Com base na string de mensagem de entrada, determine com quais agentes (modelos) o usuário deseja conversar. Invoque esses agentes-alvo e utilize a string de entrada do usuário junto com o histórico de chat como entrada para o modelo gerar o conteúdo correspondente.
Quando a saída do modelo estiver pronta, use o comando “Say” do macOS para gerar áudio através dos alto-falantes. Cada agente tem sua própria voz ao falar.
Armazenar a entrada do usuário e a resposta do agente no histórico de chat, e repetir recursivamente o programa até que o usuário diga explicitamente palavras como “tchau” em sua resposta.
Características proeminentes do Xinference:
Com o sistema distribuído do Xinference, podemos facilmente implantar dois modelos diferentes na mesma sessão e no mesmo “chat room”. Com recursos suficientes, o framework pode implantar simultaneamente qualquer número de modelos.
Com o Xinference, basta adicionar algumas linhas de código para implantar modelos facilmente. Por exemplo, para iniciar o modelo Vicuna na demonstração, 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)
Em seguida, o cliente Xinference lidará com o “download e cache do modelo alvo”, “configuração do ambiente e processos para o modelo” e “execução do serviço no endpoint selecionado”. Agora você está pronto para interagir com seu modelo LLM.
Vídeo de demonstração original
Código-fonte
AI Podcast (versão em inglês)
AI_Podcast_ZH (Versão em Chinês)