Assistente de voz ChatGPT
- O ChatGPT Voice Assistant usa um Raspberry Pi (ou desktop) para permitir conversas faladas com grandes modelos de linguagem OpenAI. Esta implementação escuta a fala, processa a conversa por meio do serviço OpenAI e responde de volta. Como Apple Siri, Amazon Alex, Google Nest Home, Mi XiaoAi etc.
- Este projeto foi escrito em python que suporta Linux/Raspbian, macOS e Windows.
Características
- Suporta diálogo de voz em tempo real. Depois que o ChatGPT retornar uma frase, você poderá ouvir a voz em vez de esperar por todas as respostas do ChatGPT antes de iniciar a síntese de voz.
- Apoie o diálogo contínuo, salve o histórico de todas as conversas atuais do ChatGPT. Quando a conversa ChatGPT for maior que 4.096 tokens (gpt-3.5-turbo), o histórico de conversação anterior será descartado.
- Suporta wake word local, use-o como o Siri.
Alto-falante assistente de voz

- Hardware
- $ para Framboesa PI 3/3B/4/4B
- $ para microtelefone USB
- $ para alto-falante auxiliar
- $ para um cartão SD (>= 8GB) (para configurar o Raspberry Pi OS)
- Programas
- Serviços de Fala Cognitiva do Azure
- Nível gratuito : 5 horas de áudio por mês e 1 solicitação simultânea.
- Crédito gratuito de US$ 200 : com uma nova conta do Azure que pode ser usada durante os primeiros 30 dias.
- OpenAI
- US$ 0,002 / 1 mil tokens / ~ 750 palavras : ChatGPT (gpt-3.5-turbo)
- Crédito grátis de $ 18 : com uma nova conta OpenAI que pode ser usada durante os primeiros 90 dias.
Configurar
- Você precisará de uma instância dos Serviços Cognitivos do Azure e de uma conta OpenAI. Você pode executar o software em praticamente qualquer plataforma, mas vamos começar com um Raspberry Pi.
Framboesa Pi
- Se você é novo no Raspberry Pis, confira este guia de primeiros passos.
1. SO
- Insira um cartão SD em seu PC.
- Acesse https://www.raspberrypi.com/software/, baixe e execute o Raspberry Pi Imager.
- Clique em
Choose OS
e selecione Raspberry Pi OS (64 bits) ou Ubuntu 22.04.2 LTS (64 bits). - Clique em
Choose Storage
e selecione o cartão SD. - Clique em
Write
e aguarde a conclusão da imagem. - Coloque o cartão SD em seu Raspberry Pi e conecte um teclado, mouse e monitor.
- Conclua a configuração inicial, certificando-se de configurar o Wi-Fi.
2. Alto-falante/microfone USB
- Conecte o alto-falante/microfone USB, caso ainda não o tenha feito.
- Na área de trabalho do Raspberry PI OS, clique com o botão direito no ícone de volume no canto superior direito da tela e certifique-se de que o dispositivo USB esteja selecionado.
- Clique com o botão direito no ícone do microfone no canto superior direito da tela e certifique-se de que o dispositivo USB esteja selecionado.
Azul
O palestrante usa o Serviço Cognitivo do Azure para conversão de fala em texto e conversão de texto em fala. Abaixo estão as etapas para criar uma conta do Azure e uma instância dos Serviços Cognitivos do Azure.
1. Conta Azure
- Em um navegador da web, navegue até https://aka.ms/friendbot/azure e clique em
Try Azure for Free
. - Clique em
Start Free
para começar a criar uma conta gratuita do Azure. - Faça login com sua conta da Microsoft ou GitHub.
- Após fazer login, você será solicitado a inserir algumas informações.
NOTA: Embora esta seja uma conta gratuita, o Azure ainda exige informações de cartão de crédito. Você não será cobrado a menos que altere as configurações posteriormente.
- Depois que a configuração da sua conta for concluída, navegue até https://aka.ms/friendbot/azureportal.
2. Serviços Cognitivos Azure
- Faça login em sua conta em https://aka.ms/friendbot/azureportal.
- Na barra de pesquisa na parte superior, insira
Cognitive Services
. Em Marketplace
selecione Cognitive Services
. (Pode levar alguns segundos para preencher.) - Verifique se a assinatura correta está selecionada. Em
Resource Group
selecione Create New
. Insira um nome de grupo de recursos (por exemplo, conv-speak-rg
). - Selecione uma região e um nome para sua instância dos Serviços Cognitivos do Azure (por exemplo,
my-conv-speak-cog-001
). NOTA: Recomenda-se EastUS, WestEurope ou SoutheastAsia, pois essas regiões tendem a suportar o maior número de recursos.
- Clique em
Review + Create
. Após a validação passar, clique em Create
. - Quando a implantação for concluída, você poderá clicar em
Go to resource
para visualizar o recurso dos Serviços Cognitivos do Azure. - Na barra de navegação esquerda, em
Resourse Management
, selecione Keys and Endpoint
. - Copie uma das duas chaves dos Serviços Cognitivos. Salve esta chave em um local seguro para mais tarde.
Usuários do Windows 11: Se o aplicativo travar ao chamar a API de conversão de texto em fala, certifique-se de ter aplicado todas as atualizações de segurança atuais (link).
OpenAI
O palestrante usa os modelos da OpenAI para manter uma conversa amigável. Abaixo estão as etapas para criar uma nova conta e acessar os modelos de IA. Suporta API oficial OpenAI ou API Azure OpenAI, basta escolher uma.
1. Conta OpenAI
- Em um navegador da web, navegue até https://aka.ms/maker/openai. Clique em
Sign up
. NOTA: pode usar uma conta Google, conta Microsoft ou e-mail para criar uma nova conta.
- Conclua o processo de inscrição (por exemplo, crie uma senha, verifique seu e-mail, etc.).
NOTA: Se você é novo no OpenAI, revise as diretrizes de uso (https://beta.openai.com/docs/usage-guidelines).
- No canto superior direito, clique na sua conta. Clique em
View API keys
. - Clique em
+ Create new secret key
. Copie a chave gerada e salve-a em um local seguro para uso posterior.
Se você estiver curioso para brincar diretamente com os grandes modelos de linguagem, confira https://platform.openai.com/playground?mode=chat no topo da página após fazer login em https://aka.ms/maker /openai.
2. Conta Azure OpenAI
Escolha entre a conta oficial OpenAI ou a conta Azure OpenAI
- Crie uma conta do Azure
- Se você não tiver uma conta do Azure, acesse o site oficial do Azure para se inscrever em uma conta. O Azure oferece uma opção de conta gratuita e novos usuários podem obter uma certa quantidade de créditos gratuitos para testes e aprendizado.
- Solicitar acesso
- Na página do serviço Azure OpenAI, clique no botão "Solicitar acesso". Isso o levará à página do aplicativo, onde você precisará preencher algumas informações necessárias, incluindo o nome da sua empresa, caso de uso, etc.
- Configurar e usar
- Depois de ter acesso, você poderá criar um novo recurso de serviço OpenAI no portal do Azure. Após a criação, você pode obter a chave API e começar a usar o serviço Azure OpenAI seguindo a documentação oficial.
O Código
1. Configuração de código
- O pacote Python Speech SDK está disponível para Windows (x64 e x86), Mac x64 (macOS X versão 10.14 ou posterior), Mac arm64 (macOS versão 11.0 ou posterior) e Linux
- No Raspberry Pi ou no seu PC, abra um terminal de linha de comando.
- No Ubuntu ou Debian, execute os seguintes comandos para a instalação dos pacotes necessários:
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- No Ubuntu 22.04 LTS também é necessário baixar e instalar o pacote libssl1.1 mais recente, por exemplo, em http://security.ubuntu.com/ubuntu/pool/main/o/openssl/.
- Clone o repositório.
git clone https://github.com/jackwuwei/gptspeaker.git
- Defina suas chaves de API: substitua config.json
{AzureCognitiveServices.Key}
e {AzureCognitiveServices.Region}
pela chave de API OpenAI e {OpenAI.Key}
pela chave de API 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 instalação
pip3 -r install requirements.txt
- Execute o código
2. (Opcional) Crie uma frase de ativação personalizada
A base de código já possui uma frase de ativação padrão ( "Hey GPT"
), que sugiro que você use primeiro. Se você deseja criar sua própria palavra de ativação personalizada (gratuita!), Siga as etapas abaixo.
- Crie um modelo de palavra-chave personalizado usando as instruções aqui: https://aka.ms/hackster/microsoft/wakeword.
- Baixe o modelo, extraia o arquivo
.table
e copie-o para o diretório raiz de origem. - Atualize o arquivo
config.json
para incluir seu arquivo de frase de ativação na compilação. "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- Recrie e execute o projeto para usar sua wake word personalizada.