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:

Explicação detalhada sobre a função de demonstração:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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:

  1. 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.

  2. 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