Asistente de voz ChatGPT
- El asistente de voz ChatGPT utiliza una Raspberry Pi (o una computadora de escritorio) para permitir la conversación hablada con modelos de lenguaje grandes OpenAI. Esta implementación escucha el habla, procesa la conversación a través del servicio OpenAI y responde. Como Apple Siri, Amazon Alex, Google Nest Home, Mi XiaoAi, etc.
- Este proyecto está escrito en Python que es compatible con Linux/Raspbian, macOS y Windows.
Características
- Admite diálogo de voz en tiempo real. Después de que ChatGPT devuelva una oración, podrá escuchar la voz en lugar de esperar todas las respuestas de ChatGPT antes de iniciar la síntesis de voz.
- Admite diálogo continuo, guarda el historial de todas las conversaciones actuales de ChatGPT. Cuando la conversación de ChatGPT supera los 4096 tokens (gpt-3.5-turbo), se descartará el historial de conversaciones iniciales.
- Admite la palabra de activación local, úsala como Siri.
Altavoz asistente de voz
- Hardware
- $ para frambuesa PI 3/3B/4/4B
- $ para microteléfono USB
- $ para altavoz auxiliar
- $ para una tarjeta SD (>= 8 GB) (para configurar el sistema operativo Raspberry Pi)
- Software
- Servicios de voz cognitivos de Azure
- Nivel gratuito : 5 horas de audio por mes y 1 solicitud simultánea.
- Crédito de $200 gratis : Con una nueva cuenta de Azure que se puede utilizar durante los primeros 30 días.
- Abierto AI
- $0,002 / 1K tokens / ~750 palabras : ChatGPT (gpt-3.5-turbo)
- Crédito gratuito de $18 : con una nueva cuenta OpenAI que puede usarse durante los primeros 90 días.
Configuración
- Necesitará una instancia de Azure Cognitive Services y una cuenta OpenAI. Puede ejecutar el software en casi cualquier plataforma, pero comencemos con una Raspberry Pi.
Frambuesa Pi
- Si eres nuevo en Raspberry Pis, consulta esta guía de introducción.
1. SO
- Inserte una tarjeta SD en su PC.
- Vaya a https://www.raspberrypi.com/software/ luego descargue y ejecute Raspberry Pi Imager.
- Haga clic en
Choose OS
y seleccione el sistema operativo Raspberry Pi (64 bits) o Ubuntu 22.04.2 LTS (64 bits). - Haga clic en
Choose Storage
, seleccione la tarjeta SD. - Haga clic en
Write
y espere a que se complete la imagen. - Coloque la tarjeta SD en su Raspberry Pi y conecte un teclado, mouse y monitor.
- Complete la configuración inicial, asegurándose de configurar Wi-Fi.
2. Altavoz/micrófono USB
- Conecte el altavoz/micrófono USB si aún no lo ha hecho.
- En el escritorio del sistema operativo Raspberry PI, haga clic derecho en el ícono de volumen en la parte superior derecha de la pantalla y asegúrese de que el dispositivo USB esté seleccionado.
- Haga clic derecho en el ícono del micrófono en la parte superior derecha de la pantalla y asegúrese de que el dispositivo USB esté seleccionado.
Azur
El hablante conversacional usa Azure Cognitive Service para conversión de voz a texto y texto a voz. A continuación se detallan los pasos para crear una cuenta de Azure y una instancia de Azure Cognitive Services.
1. Cuenta de Azure
- En un navegador web, navegue hasta https://aka.ms/friendbot/azure y haga clic en
Try Azure for Free
. - Haga clic en
Start Free
para comenzar a crear una cuenta gratuita de Azure. - Inicie sesión con su cuenta de Microsoft o GitHub.
- Después de iniciar sesión, se le pedirá que ingrese cierta información.
NOTA: Aunque se trata de una cuenta gratuita, Azure aún requiere información de la tarjeta de crédito. No se le cobrará a menos que cambie la configuración más adelante.
- Una vez completada la configuración de su cuenta, navegue hasta https://aka.ms/friendbot/azureportal.
2. Servicios cognitivos de Azure
- Inicie sesión en su cuenta en https://aka.ms/friendbot/azureportal.
- En la barra de búsqueda en la parte superior, ingrese
Cognitive Services
. En Marketplace
seleccione Cognitive Services
. (Es posible que tarde unos segundos en completarse). - Verifique que esté seleccionada la suscripción correcta. En
Resource Group
seleccione Create New
. Ingrese un nombre de grupo de recursos (por ejemplo, conv-speak-rg
). - Seleccione una región y un nombre para su instancia de Azure Cognitive Services (por ejemplo,
my-conv-speak-cog-001
). NOTA: Se recomiendan el este de EE. UU., el oeste de Europa o el sudeste asiático, ya que esas regiones tienden a admitir la mayor cantidad de funciones.
- Haga clic en
Review + Create
. Una vez aprobada la validación, haga clic en Create
. - Cuando se haya completado la implementación, puede hacer clic en
Go to resource
para ver su recurso de Azure Cognitive Services. - En la barra de navegación del lado izquierdo, en
Resourse Management
, seleccione Keys and Endpoint
. - Copie cualquiera de las dos claves de Cognitive Services. Guarde esta clave en un lugar seguro para más tarde.
Usuarios de Windows 11: si la aplicación se detiene al llamar a la API de texto a voz, asegúrese de haber aplicado todas las actualizaciones de seguridad actuales (enlace).
Abierto AI
El conversador utiliza los modelos de OpenAI para mantener una conversación amistosa. A continuación se detallan los pasos para crear una nueva cuenta y acceder a los modelos de IA. Admite la API oficial de OpenAI o la API de Azure OpenAI, solo elija una.
1. Cuenta OpenAI
- En un navegador web, navegue hasta https://aka.ms/maker/openai. Haga clic en
Sign up
. NOTA: puede utilizar una cuenta de Google, una cuenta de Microsoft o un correo electrónico para crear una nueva cuenta.
- Complete el proceso de registro (por ejemplo, cree una contraseña, verifique su correo electrónico, etc.).
NOTA: Si es nuevo en OpenAI, revise las pautas de uso (https://beta.openai.com/docs/usage-guidelines).
- En la esquina superior derecha, haga clic en su cuenta. Haga clic en
View API keys
. - Haga clic en
+ Create new secret key
. Copie la clave generada y guárdela en una ubicación segura para más adelante.
Si tiene curiosidad por jugar directamente con los modelos de lenguaje grandes, consulte https://platform.openai.com/playground?mode=chat en la parte superior de la página después de iniciar sesión en https://aka.ms/maker. /openai.
2. Cuenta Azure OpenAI
Elija entre cuenta oficial de OpenAI o cuenta de Azure OpenAI
- Crear una cuenta de Azure
- Si no tiene una cuenta de Azure, vaya al sitio web oficial de Azure para registrarse para obtener una cuenta. Azure ofrece una opción de cuenta gratuita y los nuevos usuarios pueden obtener una cierta cantidad de créditos gratuitos para realizar pruebas y aprender.
- Solicitar acceso
- En la página del servicio Azure OpenAI, haga clic en el botón "Solicitar acceso". Esto lo llevará a la página de la aplicación donde deberá completar la información necesaria, incluido el nombre de su empresa, el caso de uso, etc.
- Configurar y usar
- Una vez que tenga acceso, puede crear un nuevo recurso de servicio OpenAI en Azure Portal. Después de la creación, puede obtener la clave API y comenzar a usar el servicio Azure OpenAI siguiendo la documentación oficial.
El código
1. Configuración del código
- El paquete Python Speech SDK está disponible para Windows (x64 y x86), Mac x64 (macOS X versión 10.14 o posterior), Mac arm64 (macOS versión 11.0 o posterior) y Linux.
- En Raspberry Pi o su PC, abra una terminal de línea de comandos.
- En Ubuntu o Debian, ejecute los siguientes comandos para instalar los paquetes necesarios:
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- En Ubuntu 22.04 LTS también es necesario descargar e instalar el último paquete libssl1.1 , por ejemplo, desde http://security.ubuntu.com/ubuntu/pool/main/o/openssl/.
- Clona el repositorio.
git clone https://github.com/jackwuwei/gptspeaker.git
- Configure sus claves de API: reemplace config.json
{AzureCognitiveServices.Key}
y {AzureCognitiveServices.Region}
con su clave de API de OpenAI y {OpenAI.Key}
con su clave de API de OpenAI. {
"AzureCognitiveServices" : {
"Key" : " AzureCognitiveServicesKey " ,
"Region" : " AzureCognitiveServicesRegion " ,
},
"OpenAI" : {
"Key" : " OpenAIKey " ,
},
// Just choose one of the two OpenAI above
"AzureOpenAI" :
{
"Key" : " " , // Key 1 or Key 2
"api_version" : " 2024-02-01 " ,
"Endpoint" : " " , // Endpoint
"Model" : " " // Azure AI Studio deployment name
}
}
- Requisitos de instalación
pip3 -r install requirements.txt
- Ejecute el código
2. (Opcional) Crea una frase de activación personalizada
El código base ya tiene una frase de activación predeterminada ( "Hey GPT"
), que te sugiero que uses primero. Si desea crear su propia palabra de activación personalizada (¡gratuita!), siga los pasos a continuación.
- Cree un modelo de palabras clave personalizado siguiendo las instrucciones aquí: https://aka.ms/hackster/microsoft/wakeword.
- Descargue el modelo, extraiga el archivo
.table
y cópielo en el directorio raíz de origen. - Actualice el archivo
config.json
para incluir su archivo de frase de activación en la compilación. "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- Reconstruya y ejecute el proyecto para utilizar su palabra de activación personalizada.