Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

OpenAvatarChat: uma ferramenta de diálogo humano digital projetada de forma modular

Introdução geral

O OpenAvatarChat é um projeto de código aberto desenvolvido pela equipe HumanAIGC-Engineering e hospedado no GitHub. É uma ferramenta modular de diálogo humano digital que permite aos usuários executar todas as funcionalidades em um único PC. O projeto combina vídeo em tempo real, reconhecimento de fala e tecnologia humana digital, com design modular flexível e interação de baixa latência como recursos principais. O componente de áudio usa SenseVoice, qwen-plus e CosyVoice A parte do vídeo se baseia no algoritmo LiteAvatar. O código é totalmente aberto para que os desenvolvedores possam estudá-lo e aprimorá-lo.

OpenAvatarChat: uma ferramenta de diálogo humano digital projetada de forma modular-1


 

Lista de funções

  • Diálogo humano digital modular: suporta interação em tempo real com voz e vídeo, os módulos podem ser combinados livremente.
  • Transmissão de áudio e vídeo em tempo real: comunicação de áudio e vídeo de baixa latência via gradio-webrtc.
  • Reconhecimento e geração de fala: integração do SenseVoice e do CosyVoice para lidar com a entrada e saída de fala.
  • Animação humana digital: Gere expressões e movimentos humanos digitais suaves com o LiteAvatar.
  • Suporte de código aberto: o código completo é fornecido e os usuários podem modificá-lo ou otimizá-lo de acordo com suas necessidades.

 

Usando a Ajuda

O OpenAvatarChat é um projeto de código aberto que exige que os usuários façam o download do código e configurem o ambiente por conta própria. Veja a seguir as etapas detalhadas de instalação e uso para ajudá-lo a começar rapidamente.

Processo de instalação

  1. Verificação dos requisitos do sistema
    Antes de começar, verifique se o dispositivo atende às seguintes condições:

    • Python 3.10 ou posterior.
    • GPU habilitada para CUDA com pelo menos 10 GB de memória gráfica (20 GB ou mais para modelos não quantificados).
    • O desempenho da CPU é bom (testado a 30FPS com o i9-13980HX).
      Você pode verificar a versão do Python com o seguinte comando:
python --version
  1. Instalação do Git LFS
    O projeto usa o Git LFS para gerenciar arquivos grandes, portanto, instale-o primeiro:
sudo apt install git-lfs
git lfs install
  1. Código de download
    Clone o projeto localmente digitando o seguinte comando no terminal:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
  1. Atualização de submódulos
    O projeto depende de vários submódulos, que são atualizados com a execução do seguinte comando:
git submodule update --init --recursive
  1. Modelos para download
    O modelo de linguagem multimodal MiniCPM-o-2.6 precisa ser baixado manualmente. Você pode fazer o download em Cara de abraço talvez Escopo do modelo Obter. Coloque o modelo na seção models/ ou execute um script para baixá-lo automaticamente:
scripts/download_MiniCPM-o_2.6.sh

Se não houver memória de vídeo suficiente, você poderá fazer o download da versão int4 quantised:

scripts/download_MiniCPM-o_2.6-int4.sh
  1. Instalação de dependências
    Execute-o no diretório raiz do projeto:
pip install -r requirements.txt
  1. Gerar certificado SSL
    Se for necessário acesso remoto, gere um certificado autoassinado:
scripts/create_ssl_certs.sh

Os certificados são armazenados por padrão na pasta ssl_certs/ Pasta.

  1. programa de corrida
    Há dois tipos de startup:
  • executar diretamente::
    python src/demo.py
    
  • Operação em contêineres(É necessário o Nvidia Docker):
    build_and_run.sh
    

Funções principais

  • Lançamento do diálogo humano digital
    Depois de executar o programa, abra um navegador e acesse https://localhost:8282(As portas estão disponíveis no configs/sample.yaml (Modificar). A interface mostrará a pessoa digital, clique em "Start" (Iniciar), o programa chamará a câmera e o microfone e entrará no modo de diálogo.
  • interação por voz
    Ao falar no microfone, o sistema reconhecerá a voz por meio do SenseVoice, o MiniCPM-o gerará a resposta e o CosyVoice a converterá em saída de fala. O digitalizador sincronizará a expressão e o formato da boca. Os testes mostram uma latência de resposta de cerca de 2,2 segundos (com base no i9-13900KF e RTX 4090).
  • Ajuste da configuração
    compilador configs/sample.yaml Documentação. Exemplo:
  • Modificar a porta: defina o service.port Alterar para outro valor.
  • Ajuste a taxa de quadros: defina Tts2Face.fps Defina como 30.
    Salve e reinicie o programa para que a configuração entre em vigor.

fluxo de trabalho

  1. Inicie o programa e aguarde até que a interface termine de carregar.
  2. Verifique se a câmera e o microfone estão funcionando corretamente.
  3. Inicie um diálogo e o sistema processará automaticamente a voz e o vídeo.
  4. Para parar, pressione Ctrl+C para fechar o terminal ou sair da interface.

Alternativas baseadas na nuvem

Se a configuração local for insuficiente, você poderá substituir o MiniCPM-o por um LLM em nuvem:

  1. modificações src/demo.pyPara ativar os processadores ASR, LLM e TTS, observe a seção MiniCPM.
  2. existir configs/sample.yaml configurar LLM_BailianPreencha o endereço e a chave da API, por exemplo:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
  1. Reinicie o programa para usá-lo.

advertência

  • A memória insuficiente da GPU pode causar o travamento do aplicativo; recomenda-se usar o modelo int4 ou a API da nuvem.
  • Uma rede instável afetará a transmissão em tempo real; recomenda-se uma conexão com fio.
  • Os caminhos de configuração aceitam caminhos relativos (com base no diretório raiz do projeto) ou caminhos absolutos.

 

cenário do aplicativo

  1. Estudos técnicos
    Os desenvolvedores podem usá-lo para estudar técnicas de diálogo humano digital e analisar a implementação de projetos modulares.
  2. teste pessoal
    Os usuários podem criar serviços locais e experimentar a interação humana digital orientada por voz.
  3. Educação e treinamento
    Os alunos podem aprender os princípios de reconhecimento de fala, modelagem de linguagem e animação humana digital por meio de código.

 

QA

  1. E se eu não tiver memória de vídeo suficiente?
    Faça o download do modelo quantitativo int4 ou use a API LLM baseada em nuvem em vez de um modelo local.
  2. Ele oferece suporte ao diálogo multijogador?
    A versão atual é adequada para o diálogo de um jogador; a função de vários jogadores precisa ser desenvolvida por você.
  3. E quanto ao atraso na execução?
    Verifique o desempenho da CPU/GPU, reduza a taxa de quadros ou desative o modo rápido.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " OpenAvatarChat: uma ferramenta de diálogo humano digital projetada de forma modular
pt_BRPortuguês do Brasil