Resgate
A resgate é um assistente de conversa sobre voz de código aberto, projetado para ter conversas naturais com os usuários através da voz. O projeto combina o reconhecimento de fala (ASR), a detecção de atividades de fala (VAD), o Modelo de Linguagem Grande (LLM) e as tecnologias de síntese de fala (TTS). Este é um robô de conversa de voz do tipo GPT-4O implementado através do ASR+LLM+TTS para fornecer uma experiência de conversa de voz de alta qualidade com um atraso de ponta a ponta de 800ms. O resgate visa alcançar efeitos de diálogo do tipo GPT-4O sem a necessidade de GPU e é adequado para vários dispositivos de borda e ambientes de baixo resistência.

Recursos do projeto
- Modelo de código aberto eficiente : a fiança usa vários modelos de código aberto para garantir uma experiência de conversa de voz eficiente e confiável.
- Não é necessário GPU : otimizado, implantável localmente e ainda fornece desempenho de desempenho como o GPT-4.
- Design modular : os módulos ASR, VAD, LLM e TTS são independentes um do outro e podem ser substituídos e atualizados de acordo com os requisitos.
- Função de memória de suporte : ela tem a capacidade de aprender continuamente, pode lembrar as preferências e os diálogos históricos dos usuários e fornece uma experiência interativa personalizada.
- Chamadas de ferramentas de suporte : integração flexível de ferramentas externas, os usuários podem solicitar informações diretamente ou executar operações através da voz, melhorando a praticidade do assistente.
- Gerenciamento de tarefas de suporte : gerencie com eficiência as tarefas do usuário, capaz de rastrear progresso, definir lembretes e fornecer atualizações dinâmicas para garantir que os usuários percam qualquer assunto importante.
Introdução ao projeto
O resgate realiza a função de diálogo de voz através dos seguintes componentes técnicos:
- ASR : use Fanasr para reconhecimento automático de fala para converter a voz do usuário em texto.
- VAD : Use Silero-VAD para executar a detecção de atividades de voz para garantir que apenas segmentos de voz válidos sejam processados.
- LLM : Use DeepSeek como um modelo de linguagem grande para processar a entrada do usuário e gerar respostas, o que é extremamente econômico.
- TTS : Use o MacOS de borda-tts chattts diz para conversão de texto em fala, convertendo a resposta de texto gerada em uma fala natural e suave.
Descrição da estrutura

O Robot é responsável pelo gerenciamento eficiente de tarefas e pelo gerenciamento de memória e pode lidar de maneira inteligente as solicitações de interrupção do usuário, enquanto atinge a coordenação e a conexão contínuas entre vários módulos para garantir uma experiência interativa suave.
| Status do jogador | Se deve falar | ilustrar |
|---|
| Jogando | Não falando | normal |
| Jogando | dizer | Interromper a cena |
| Não jogado | Não falando | normal |
| Não jogado | dizer | Julgamento do vad, reconhecimento de ASR |
Demonstração
diálogo de áudio de resgate
diálogo de áudio de resgate
Recursos funcionais
- Entrada de voz : reconhecimento preciso da fala através do Fanasr.
- Detecção da atividade de voz : use o Silero-VAD para filtrar áudio inválido para melhorar a eficiência do reconhecimento.
- Geração de diálogo inteligente : confiando na poderosa compreensão da linguagem fornecida pela DeepSeek, gera respostas de texto natural, o que é extremamente econômico.
- Saída de voz : converta o texto em voz através do Edge-TTS para fornecer aos usuários feedback auditivo realista.
- Interrupções de suporte : A configuração flexível das políticas de interrupção pode ser usada para identificar interrupções de palavras -chave e voz, garantindo feedback instantâneo e controle dos usuários nas conversas e melhorando a fluência de interação.
- Função de memória de suporte : ela tem a capacidade de aprender continuamente, pode lembrar as preferências e os diálogos históricos dos usuários e fornece uma experiência interativa personalizada.
- Chamadas de ferramentas de suporte : integração flexível de ferramentas externas, os usuários podem solicitar informações diretamente ou executar operações através da voz, melhorando a praticidade do assistente.
- Gerenciamento de tarefas de suporte : gerencie com eficiência as tarefas do usuário, capaz de rastrear progresso, definir lembretes e fornecer atualizações dinâmicas para garantir que os usuários percam qualquer assunto importante.
Vantagens do projeto
- Conversação de voz de alta qualidade : integre a excelente Tecnologias ASR, LLM e TTS para garantir a fluência e a precisão das conversas de voz.
- Design leve : funciona sem hardware de alto desempenho, adequado para ambientes com restrição de recursos.
- Totalmente de código aberto : o saliamento é totalmente de código aberto, incentivando a contribuição da comunidade e o desenvolvimento secundário.
Instalação e execução
Depender do meio ambiente
Verifique se as seguintes ferramentas e bibliotecas estão instaladas em seu ambiente de desenvolvimento:
- Python 3.8 ou mais tarde
- Gerenciador de pacotes
pip - Fanasr, Silero-VAD, Deepseek, Biblioteca de dependência de Edge-TTS necessária
Etapas de instalação
Clonando o armazém do projeto:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
Dependências necessárias para a instalação:
pip install -r requirements.txt
Configurar variáveis de ambiente:
- Abra Config/Config.yaml para configurar o ASR LLM e outras configurações relacionadas
- Faça o download do SenseVoicesMall para os modelos de diretório/SenseVoicesMall SenseVoicesMall Download Endereço
- Vá para o site oficial da Deepseek para obter a configuração API_KEY, Deepseek obter o API_KEY, é claro, você também pode configurar outros modelos como Openai, Qwen, Gêmeos, 01yi, etc.
Execute o projeto:
cd server
python server.py # 启动后端服务,也可不执行这一步
Instruções para uso
- Depois de iniciar o aplicativo, o sistema aguardará a entrada de voz.
- Converta a voz do usuário em texto via finasr.
- O Silero-Vad realiza a detecção de atividades de voz para garantir que apenas a voz válida seja processada.
- Deepseek processa a entrada de texto e gera respostas inteligentes.
- Edge-tts, Chattts, MacOS diz que converte o texto gerado em fala e reproduz-o para o usuário.
Roteiro
No futuro, a resgate será sublimada em um assistente pessoal semelhante a Jarvis, como um think tank carinhoso com memória incomparável e recursos de gerenciamento de tarefas prospectivos. Contando com a tecnologia de pano e agente de ponta, ele controlará com precisão seus assuntos e conhecimentos e simplificará o complexo. Apenas um sussurro, como "Ajude -me a encontrar notícias recentes" ou "resumir os desenvolvimentos mais recentes no grande modelo", o resgate responde rapidamente, analisa de maneira inteligente, rastreia em tempo real e apresenta os resultados graciosamente a você. Imagine que você não tem apenas um assistente, mas um parceiro inteligente que é bem versado em suas necessidades, acompanhando você em todos os momentos importantes do futuro, ajudando você a ver tudo e ganhar mil milhas.
Ferramentas suportadas
| Nome da função | descrever | Função | Exemplo |
|---|
get_weather | Obtenha informações climáticas para um local | Depois de fornecer o nome do local, retorne às condições climáticas do local | O usuário disse: "Como está o tempo em Hangzhou?" → zhejiang/hangzhou |
ielts_speaking_practice | Prática oral do IELTS | Gere perguntas e diálogos de exercícios orais do IELTS para ajudar os usuários a praticar exercícios orais do IELTS | - |
get_day_of_week | Obtenha o dia atual da semana ou data | Quando o usuário pede a hora, data ou dia da semana atual, as informações correspondentes são retornadas | O usuário disse: "Em que dia da semana hoje?" → Voltar à semana atual |
schedule_task | Crie uma tarefa cronometrada | Os usuários podem especificar o tempo de execução e o conteúdo da tarefa e lembrar os usuários regularmente | O usuário disse: "Lembre -me de beber água todas as manhãs às 8 horas". → time: '08:00', content: '提醒我喝水' |
open_application | Abra o aplicativo especificado no seu Mac | Os usuários podem especificar o nome do aplicativo e o script iniciará o aplicativo correspondente no Mac | O usuário disse: "Open Safari". → application_name: 'Safari' |
web_search | Pesquise palavras -chave especificadas online | Retorne os resultados de pesquisa correspondentes com base no conteúdo de pesquisa fornecido pelo usuário | O usuário disse: "Pesquise as mais recentes notícias de tecnologia". → query: '最新的科技新闻' |
Guia de contribuição
Quaisquer contribuições são bem -vindas! Se você tiver alguma sugestão de melhorias no projeto de fiança ou encontrar algum problema, forneça feedback ou envie uma solicitação de tração por meio de problemas do GitHub.
Protocolo de código aberto
O projeto é de origem aberta com base na licença do MIT. Você é livre para usar, modificar e distribuir este projeto, mas precisa manter a declaração de licença original.
Informações de contato
Se você tiver alguma dúvida ou sugestão, entre em contato com:
- Problemas do GitHub: rastreamento de problemas do projeto
Isenção de responsabilidade
A resgate é um projeto de código aberto projetado para fins de aprendizado e pesquisa pessoal. Observe o seguinte aviso ao usar este projeto:
- Uso pessoal : este projeto é apenas para estudo e pesquisa pessoal e não é adequado para ambientes de uso comercial ou de produção.
- Riscos e responsabilidade : o uso do salvamento pode levar à perda de dados, falha do sistema ou outros problemas. Não somos responsáveis por quaisquer perdas, danos ou problemas decorrentes do uso deste projeto.
- Suporte : Este projeto não fornece suporte técnico ou garantia. Os usuários devem arcar com os riscos de usar este projeto por sua conta e risco.
Antes de usar este projeto, certifique -se de entender e aceitar essas isenções de responsabilidade. Se você não concordar com estes Termos, não use este projeto.
Obrigado pela sua compreensão e apoio!