Bailing: un asistente de diálogo de voz de código abierto y baja latencia para la conversación y la comunicación naturales

Introducción general

Bailing es un asistente de diálogo por voz de código abierto diseñado para entablar un diálogo natural con los usuarios a través del habla. El proyecto combina tecnologías de reconocimiento del habla (ASR), detección de actividad vocal (VAD), modelo de lenguaje amplio (LLM) y síntesis del habla (TTS) para implantar un robot de diálogo por voz similar al GPT-4o. Con una latencia de extremo a extremo tan baja como 800 ms, BaiLing es apto para una amplia gama de dispositivos periféricos y entornos de bajos recursos. Su eficiente modelo de código abierto y su diseño modular le permiten funcionar sin GPU, proporcionando una experiencia de diálogo de voz de alta calidad. Con funciones como la función de memoria, la invocación de herramientas y la gestión de tareas, Biolabs recuerda las preferencias del usuario y las conversaciones históricas para ofrecer una experiencia interactiva personalizada.

百聆 (Bailing):低延时的开源语音对话助手,轻松实现自然对话交流

 

Lista de funciones

  • Entrada de voz: reconocimiento de voz preciso mediante FunASR.
  • Detección de actividad vocal: filtrado de audio no válido mediante silero-vad para mejorar la eficacia del reconocimiento.
  • Generación inteligente de diálogos: basarse en búsqueda profunda La potente comprensión del lenguaje que proporciona genera respuestas de texto naturales.
  • Salida de voz: convierte el texto en voz a través de edge-tts, proporcionando a los usuarios una respuesta auditiva realista.
  • Soporte de interrupciones: la configuración flexible de las políticas de interrupción, con capacidad para identificar palabras clave e interrupciones de voz, garantiza la respuesta inmediata del usuario y el control en el diálogo.
  • Soporte de memoria: capacidad de aprendizaje continuo para recordar las preferencias del usuario y el historial de conversaciones para ofrecer una experiencia interactiva personalizada.
  • Soporte para la invocación de herramientas: la integración flexible de herramientas externas permite a los usuarios solicitar información o realizar acciones directamente a través de la voz.
  • Compatibilidad con la gestión de tareas: gestione eficazmente las tareas de los usuarios con la posibilidad de realizar un seguimiento del progreso, establecer recordatorios y proporcionar actualizaciones dinámicas.

 

Utilizar la ayuda

Instalación y funcionamiento

Entorno dependiente

Asegúrese de tener instaladas las siguientes herramientas y bibliotecas en su entorno de desarrollo:

  • Python 3.8 o superior
  • gestor de paquetes pip
  • Dependencias necesarias para FunASR, silero-vad, deepseek, edge-tts

Pasos de la instalación

  1. Almacén de proyectos de clonación:
   git clone https://github.com/wwbin2017/bailing.git
cd bailing
  1. Instale las dependencias necesarias:
   pip install -r requirements.txt
  1. Configurar variables de entorno: Abrir config/config.yaml Configurar ASR, LLM y otras configuraciones relacionadas. Descargar SenseVoiceSmall al catálogo models/SenseVoiceSmallLa clave API de deepseek se utiliza para configurar el modelo. Obtén la clave API de deepseek y configúralo, por supuesto, también puedes configurar otros modelos como openai, qwen, gemini, 01yi, etc.
  2. Ejecuta el proyecto:
   cd server
python server.py  # 启动后端服务,也可不执行这一步
python main.py

Instrucciones de uso

Después de iniciar la aplicación, el sistema esperará la entrada de voz. Este es el procedimiento de funcionamiento detallado:

  1. Convierte la voz del usuario en texto con FunASR.
  2. Utilice silero-vad para la detección de la actividad vocal y garantizar que sólo se procesa el habla válida.
  3. deepseek procesa la entrada de texto y genera respuestas inteligentes.
  4. edge-tts, ChatTTS, macOS say convierte el texto generado en voz y lo reproduce al usuario.

Función Flujo de operaciones

  • entrada de voz: El usuario introduce la voz a través del micrófono y el sistema realiza automáticamente el reconocimiento de voz.
  • Detección de actividad vocalEl sistema filtra automáticamente el audio no válido para garantizar la eficacia del reconocimiento.
  • Generación inteligente de diálogosEl sistema genera respuestas de texto natural a partir de la información introducida por el usuario.
  • salida de vozEl sistema convierte las respuestas de texto en voz y las reproduce al usuario.
  • Apoyo a las interrupcionesEl usuario puede interrumpir por voz el diálogo en curso y el sistema responderá al instante.
  • función de memoriaEl sistema recuerda las preferencias del usuario y su historial de conversaciones para ofrecerle una experiencia interactiva personalizada.
  • Llamada a la herramienta: Los usuarios pueden solicitar información o realizar acciones por voz, y el sistema integra de forma flexible herramientas externas.
  • Gestión de tareasLos usuarios pueden establecer recordatorios de tareas y el sistema gestionará eficazmente el progreso de las tareas y proporcionará actualizaciones dinámicas.

operación de muestreo

  • Obtener información meteorológicaEl usuario dice: "¿Qué tiempo hace en Hangzhou?". El sistema devolverá las condiciones meteorológicas en Hangzhou.
  • Creación de tareas cronometradasEl usuario dice: "Recuérdame que beba agua todas las mañanas a las 8". El sistema establecerá un recordatorio temporizado.

Con la ayuda detallada de uso anterior, los usuarios pueden empezar a utilizar BaiLing fácilmente y disfrutar de una experiencia de diálogo de voz eficaz.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...