Introdução geral
O Bailing é um assistente de diálogo de voz de código aberto projetado para estabelecer um diálogo natural com os usuários por meio da fala. O projeto combina tecnologias de reconhecimento de fala (ASR), detecção de atividade de voz (VAD), modelo de linguagem ampla (LLM) e síntese de fala (TTS) para implementar um robô de diálogo de voz semelhante ao GPT-4o. Com uma latência de ponta a ponta tão baixa quanto 800 ms, o BaiLing é adequado para uma ampla gama de dispositivos de ponta e ambientes com poucos recursos. Seu modelo eficiente de código aberto e seu design modular permitem que ele seja executado sem uma GPU, proporcionando uma experiência de diálogo de voz de alta qualidade. Com recursos como função de memória, invocação de ferramentas e gerenciamento de tarefas, o Biolabs lembra as preferências do usuário e o histórico de conversas para proporcionar uma experiência interativa personalizada.
Lista de funções
- Entrada de voz: reconhecimento de voz preciso por meio do FunASR.
- Detecção de atividade de fala: filtragem de áudio inválido usando silero-vad para melhorar a eficiência do reconhecimento.
- Geração inteligente de diálogos: com base em busca profunda A poderosa compreensão de linguagem fornecida gera respostas de texto naturais.
- Saída de fala: converte texto em fala por meio de edge-tts, fornecendo aos usuários um feedback auditivo realista.
- Suporte a interrupções: a configuração flexível de políticas de interrupção, com a capacidade de identificar palavras-chave e interrupções de voz, garante feedback imediato do usuário e controle no diálogo.
- Suporte à memória: capacidade de aprendizagem contínua para lembrar as preferências do usuário e o histórico de conversas para proporcionar uma experiência interativa personalizada.
- Suporte para invocação de ferramentas: a integração flexível de ferramentas externas permite que os usuários solicitem informações ou executem ações diretamente por voz.
- Suporte para gerenciamento de tarefas: gerencie com eficiência as tarefas dos usuários com a capacidade de acompanhar o progresso, definir lembretes e fornecer atualizações dinâmicas.
Usando a Ajuda
Instalação e operação
Ambiente dependente
Certifique-se de ter as seguintes ferramentas e bibliotecas instaladas em seu ambiente de desenvolvimento:
- Python 3.8 ou superior
- Gerenciador de pacotes pip
- Dependências necessárias para FunASR, silero-vad, deepseek, edge-tts
Etapas de instalação
- Clonagem do Project Warehouse:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
- Instale as dependências necessárias:
pip install -r requirements.txt
- Configurar variáveis de ambiente: Abrir
config/config.yaml
Configurar ASR, LLM e outras configurações relacionadas. Faça o download do SenseVoiceSmall para o catálogomodelos/SenseVoiceSmall
A chave de API do deepseek é uma chave que pode ser usada para configurar outros modelos. Obtenha a chave de API do deepseek e configure-o. Obviamente, você também pode configurar outros modelos, como openai, qwen, gemini, 01yi e assim por diante. - Execute o projeto:
cd server
python server.py # Inicia o serviço de backend ou você pode deixar essa etapa de lado
python main.py
Instruções de uso
Depois de iniciar o aplicativo, o sistema aguardará a entrada de voz. Aqui está o procedimento de operação detalhado:
- Converta a fala do usuário em texto com o FunASR.
- Use silero-vad para detecção de atividade de voz para garantir que somente a fala válida seja processada.
- O deepseek processa a entrada de texto e gera respostas inteligentes.
- edge-tts, ChatTTS, macOS say converte o texto gerado em fala e o reproduz para o usuário.
Função Fluxo de operação
- entrada de vozReconhecimento de voz: O usuário insere a voz por meio do microfone e o sistema executa automaticamente o reconhecimento de voz.
- Detecção de atividade de vozO sistema filtra automaticamente o áudio inválido para garantir a eficiência do reconhecimento.
- Geração inteligente de diálogoO sistema gera respostas de texto natural com base na entrada do usuário.
- saída de vozO sistema converte as respostas de texto em fala e as reproduz para o usuário.
- Suporte para interrupçõesO usuário pode interromper o diálogo atual por voz e o sistema responderá instantaneamente.
- função de memóriaO sistema lembra as preferências do usuário e o histórico de conversas para oferecer uma experiência interativa personalizada.
- Chamada de ferramentaOs usuários podem solicitar informações ou executar ações por voz, e o sistema integra ferramentas externas de forma flexível.
- Gerenciamento de tarefasOs usuários podem configurar lembretes de tarefas e o sistema gerenciará com eficiência o progresso das tarefas e fornecerá atualizações dinâmicas.
operação de amostra
- Obter informações meteorológicas: O usuário pergunta: "What's the weather like in Hangzhou?" (Como está o tempo em Hangzhou?) O sistema retornará as condições meteorológicas em Hangzhou.
- Criação de tarefas cronometradasO usuário diz: "Remind me to drink water every morning at 8am" (Lembre-me de beber água todas as manhãs às 8h). O sistema definirá um lembrete programado.
Com a ajuda de uso detalhada acima, os usuários podem começar a usar o BaiLing com facilidade e desfrutar de uma experiência eficiente de diálogo por voz.