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.
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
- Instale a dependência:
pip install -U moshi
- 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
- entrevistas
https://localhost:8088
, entre na interface da Web. - 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
- Instale a cadeia de ferramentas do Rust (via
rustup
(Acesso). - Configure o suporte à GPU (Metal para Mac, CUDA para NVIDIA).
- Execute o serviço:
cd kyuteye_rs
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis.json standalone --vis
- Depois de ver a opção "standalone worker listening", acesse a página
https://localhost:8088
. - 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)
- Instale a dependência do MLX:
pip install -U moshi_mlx
- 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 位量化
- entrevistas
http://localhost:8008
Use a interface da Web.
Instalação de front-end
- Faça o download do cliente pré-construído:
pip install fire rich huggingface_hub
python scripts/get_static_client.py
- Gerar um certificado SSL (para HTTPS):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
- 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
talvezhttp://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
talvezconfig-moshika-vis.json
, reinicie o serviço. - usoAjuste o estilo da voz ou otimize o desempenho.
Procedimento de operação completa
- Selecionar backendEscolha PyTorch (GPU), Rust (multiplataforma) ou MLX (Mac), dependendo do seu dispositivo.
- ambiente de instalaçãoInstalação: Instale as dependências e os modelos de acordo com o comando acima.
- Início dos serviçosExecute o backend e aguarde até que o serviço esteja pronto.
- Interface de conexãoAcesso à porta especificada com seu navegador.
- Voz de testeDizer frases simples e verificar as respostas.
- Imagem de testeCarregar fotos e fazer perguntas por voz.
- 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
- 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". - 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". - 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
- 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. - 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. - 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.