Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

MoshiVis: um modelo de código aberto para diálogo de fala em tempo real e compreensão de imagens

Introdução geral

O MoshiVis é um projeto de código aberto desenvolvido pela Kyutai Labs e hospedado no GitHub. Ele se baseia no modelo de fala para texto Moshi (parâmetros 7B), com cerca de 206 milhões de novos parâmetros de adaptação e um codificador visual PaliGemma2 congelado (parâmetros 400M), que permite que o modelo discuta o conteúdo da imagem com o usuário em tempo real usando a fala. Ele é compatível com os back-ends PyTorch, Rust e MLX, e os usuários podem fazer o download gratuito do código e dos pesos do modelo para executá-los em seus dispositivos locais. O projeto é voltado para desenvolvedores e pesquisadores e é adequado para explorar interações de IA ou desenvolver novos aplicativos.

MoshiVis:实时语音对话和图像理解的开源模型-1


 

Lista de funções

  • Suporta entrada e saída de voz em tempo real, o modelo responde rapidamente depois que o usuário fala.
  • Capacidade de analisar o conteúdo de uma imagem e descrever os detalhes da imagem em discurso ou texto.
  • Os backends PyTorch, Rust e MLX estão disponíveis para diferentes hardwares.
  • Código-fonte aberto e pesos de modelo, permitindo que os usuários os modifiquem livremente.
  • Projeto de baixa latência para cenários de diálogo em tempo real.
  • Oferece suporte a formatos de quantização (por exemplo, 4 bits, 8 bits) para otimizar a memória e o desempenho.
  • Mecanismo de atenção cruzada integrado para fundir informações visuais e de fala.

 

Usando a Ajuda

O MoshiVis requer algumas habilidades técnicas para ser instalado e usado. Instruções oficiais detalhadas são fornecidas, e o que se segue é um guia completo para instalação e operação.

Processo de instalação

O MoshiVis oferece suporte a três execuções de back-end, permitindo que os usuários escolham a versão apropriada para seu dispositivo. Os requisitos mínimos incluem Python 3.10+ e RAM suficiente (recomenda-se uma GPU de 24 GB para a versão PyTorch, e a versão MLX é adequada para Macs).

Instalação do back-end do PyTorch

  1. Instale a dependência:
pip install -U moshi
  1. Faça o download dos pesos do modelo e inicie o serviço:
cd kyuteye_pt
python -m moshi.server --hf-repo kyutai/moshika-vis-pytorch-bf16 --port 8088
  1. entrevistas https://localhost:8088, entre na interface da Web.
  2. Se estiver executando remotamente, você precisará encaminhar a porta usando SSH:
ssh -L 8088:localhost:8088 user@remote

Instalação do back-end do Rust

  1. Instale a cadeia de ferramentas do Rust (via rustup (Acesso).
  2. Configure o suporte à GPU (Metal para Mac, CUDA para NVIDIA).
  3. Execute o serviço:
cd kyuteye_rs
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis.json standalone --vis
  1. Depois de ver a opção "standalone worker listening", acesse a página https://localhost:8088.
  2. Versão quantificada opcional:
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis-q8.json standalone --vis

Instalação do back-end do MLX (recomendado para Mac)

  1. Instale a dependência do MLX:
pip install -U moshi_mlx
  1. Serviço de inicialização (suporta vários formatos de quantificação):
cd kyuteye_mlx
python -m moshi_mlx.server  # 默认 BF16
python -m moshi_mlx.server -q 4  # 4 位量化
python -m moshi_mlx.server -q 8  # 8 位量化
  1. entrevistas http://localhost:8008 Use a interface da Web.

Instalação de front-end

  1. Faça o download do cliente pré-construído:
pip install fire rich huggingface_hub
python scripts/get_static_client.py
  1. Gerar um certificado SSL (para HTTPS):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
  1. O back-end fornece uma interface da Web por padrão, sem necessidade de operações adicionais.

Funções principais

diálogo de voz em tempo real (RTV)

  • moverApós iniciar o serviço, abra a interface da Web (https://localhost:8088 talvez http://localhost:8008). Clique no ícone do microfone para começar a falar.
  • exemplo típicoDiga "Hello" (Olá) e o modelo responderá com uma voz feminina (Moshika): "Hello, how can I help you?" (Olá, como posso ajudá-lo?). .
  • pontoLatência: Latência tão baixa quanto milissegundos para garantir que os privilégios do microfone estejam ativados.
  • adaptarA versão Rust oferece suporte a uma interface de linha de comando:
cd kyuteye_rs
cargo run --bin moshi-cli -r -- tui --host localhost

compreensão gráfica

  • moverImagem: Carregue uma imagem na interface da Web ou especifique um caminho com uma linha de comando:
python -m moshi_mlx.server -q 8 --image path/to/image.jpg
  • equipamentoDepois de fazer o upload, diga "What is this?" (O que é isso?). O modelo o descreverá foneticamente, por exemplo, "It's a picture of a blue sky with white clouds" (É uma imagem de um céu azul com nuvens brancas).
  • caracterizaçãoBaseado no codificador PaliGemma2, ele reconhece objetos, cores e cenas.

Personalização do modelo

  • moverDownload de outros pesos do Hugging Face (por exemplo kyutai/moshika-vis-mlx-bf16), substitua o caminho no arquivo de configuração.
  • equipamentoModificação configs/moshika-vis.yaml talvez config-moshika-vis.json, reinicie o serviço.
  • usoAjuste o estilo da voz ou otimize o desempenho.

Procedimento de operação completa

  1. Selecionar backendEscolha PyTorch (GPU), Rust (multiplataforma) ou MLX (Mac), dependendo do seu dispositivo.
  2. ambiente de instalaçãoInstalação: Instale as dependências e os modelos de acordo com o comando acima.
  3. Início dos serviçosExecute o backend e aguarde até que o serviço esteja pronto.
  4. Interface de conexãoAcesso à porta especificada com seu navegador.
  5. Voz de testeDizer frases simples e verificar as respostas.
  6. Imagem de testeCarregar fotos e fazer perguntas por voz.
  7. Configurações de otimizaçãoAjuste dos parâmetros de quantificação (-q 4 talvez -q 8) ou número da porta.

advertência

  • O HTTPS requer um certificado SSL; caso contrário, os navegadores poderão restringir o acesso ao microfone.
  • A quantificação não é compatível com o PyTorch e requer uma GPU de alto desempenho.
  • A versão Rust leva algum tempo para ser compilada, portanto, seja paciente ao executá-la pela primeira vez.
  • Versão MLX testada de forma estável no M3 MacBook Pro, recomendada para usuários de Mac.

 

cenário do aplicativo

  1. Suporte educacional
    Os alunos carregam imagens de livros didáticos e o MoshiVis explica o conteúdo usando áudio, por exemplo, "Este é um diagrama de uma estrutura celular, mostrando o núcleo e as mitocôndrias".
  2. Assistência à acessibilidade
    Usuários com deficiência visual carregaram fotos diárias de modelos descrevendo "esta é uma prateleira de supermercado cheia de leite e pão".
  3. experimento de desenvolvimento
    Os desenvolvedores o utilizam para criar assistentes de voz que são integrados a dispositivos inteligentes para interação com imagens.

 

QA

  1. O MoshiVis é compatível com o uso off-line?
    Sim. Depois de instaladas, todas as funções são executadas localmente, sem a necessidade de conexão com a Internet.
  2. O Voice é compatível com vários idiomas?
    Atualmente, suporta principalmente diálogos e descrições em inglês, com funcionalidade limitada em outros idiomas.
  3. Um computador de perfil baixo funcionará?
    A versão MLX é executada em um Mac comum, e a versão PyTorch requer 24 GB de memória da GPU.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MoshiVis: um modelo de código aberto para diálogo de fala em tempo real e compreensão de imagens
pt_BRPortuguês do Brasil