Como ter o chatGPT no terminal Linux

Descubra como ter o chatGPT no seu terminal Linux! Neste artigo, você vai aprender a criar um shell script que vai permitir acessar o chatGPT diretamente pelo seu terminal Linux. Siga os passos detalhados e viva experiências incríveis com o chatGPT.

[ Hits: 16.913 ]

Por: Fábio Berbert de Paula em 08/01/2023 | Blog: https://fabio.automatizando.dev


Introdução



Para início de conversa, a descrição do artigo, assim como muita ajuda para escrevê-lo, foi obra do próprio chatGPT. Que ferramenta amigos!!!

O que é chatGPT

ChatGPT é uma tecnologia de Inteligência Artificial que permite a criação de conversas inteligentes e autônomas entre usuários e bots. Ela usa redes neurais profundas (Deep Neural Networks - DNNs) para analisar e interpretar as mensagens de entrada do usuário e gerar respostas apropriadas. Isso pode ser usado para criar bots de bate-papo interativos, capazes de conversar naturalmente com os usuários.

Antes de começar

Para ter o chatGPT no terminal, primeiramente você precisa de um token para acessar sua API.

1. Acesse o site da OpenAI e clique no botão "Cadastre-se".

2. Insira seus dados pessoais, como nome, endereço de e-mail e senha.

3. Após o cadastro, você será direcionado para a página "Meu Perfil".

4. Clique em "Adicionar Chave de API" na parte superior da página.

5. Insira um nome para a sua chave de API e clique em "Criar Chave de API".

6. Uma chave de API será gerada automaticamente. Anote-a e utilize-a para acessar a API da OpenAI.

Criando o shell script

Agora vamos criar um shell script que será nossa ponte entre o terminal e a API da Inteligência Artificial. Crie o arquivo com o nome e o caminho que quiser, eu criei em:

sudo vim /usr/local/bin/chatgpt

Cole o seguinte código no conteúdo do arquivo:

#!/bin/bash
while read -r PROMPT; do
  SAIDA=$(curl -s https://api.openai.com/v1/completions -H "Content-Type: application/json" -H "Authorization: Bearer SEU-TOKEN-AQUI" -d "{\"model\": \"text-davinci-003\", \"prompt\": \"${PROMPT}\", \"temperature\": 1, \"max_tokens\": 500}" | python -c "import sys, json; print(json.load(sys.stdin)['choices'][0]['text'].strip())" | sed 's/^[^A-Za-z]*//' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  echo ""
  echo -e "\033[0;32m${SAIDA}\033[0m"
  echo ""
done

A única coisa que você precisará alterar é trocar a string SEU-TOKEN-AQUI pelo token que você gerou no site da IA.

Feito isso transforme seu script em executável:

sudo chmod +x /usr/local/bin/chatgpt

E agora basta digitar:

chatgpt
Pronto! Temos uma máquina de responder perguntas no terminal.

Explicando o código

Bom, o texto a seguir vou deixar por conta do próprio chatGPT...

1."while read -r PROMPT;"

Esta linha define um loop enquanto, onde cada linha de entrada da entrada padrão é lida e armazenada na variável PROMPT.

2. "SAIDA=$ (curl -s https://api.openai.com/v1/completions -H" Content-Type: application / json "-H" Authorization: Bearer ... "-d" {\"model\": \"text-davinci-003\", \"prompt\": \"${PROMPT}\", \"temperature\": 1, \"max_tokens\": 50}" | python -c "import sys, json; print (json.load (sys.stdin) ['choices'] [0] ['text'] .strip () ) "| sed 's/^[^A-Za-z]*//' | sed -e 's/^[ \ t] * // '-e' s / [ \ t] * $ // ')"

Esta linha usa o comando curl para acessar a API fornecida e retorna um JSON contendo uma saída para a consulta. O JSON é então processado usando o comando python e sed para remover qualquer caractere não alfabético inicial.

3. "echo """

Esta linha imprime uma linha em branco para melhorar a legibilidade da saída.

4. "echo -e "\033[0;32m${SAIDA}\033[0m""

Esta linha usa o comando echo para imprimir a saída da consulta na tela, com a cor verde para melhorar a legibilidade.

5. "done"

Esta linha finaliza o loop while.

Até a próxima!

Obs: com a ajuda dessa ferramenta, escrevi esse artigo em menos de 10 minutos.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

Organizando projetos com a classe FastTemplate (parte 2)

A função DATE_FORMAT() do MySQL

Clicador automático de Tinder com Python

Informativo: novos recursos no fórum

Leitura recomendada

E a guerra contra bots continua

Docalysis: Análise de Documentos com Inteligência Artificial

Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário

Como usar o ChatGPT para melhorar a educação dos seus filhos

Aprenda a criar músicas com Inteligência Artificial usando Suno AI

  
Comentários
[1] Comentário enviado por SamL em 08/01/2023 - 15:11h

Massa hein! Fábio agora vem inovando no ramo. Gostei.

[2] Comentário enviado por batista em 09/01/2023 - 10:39h

Excelente artigo. Testei e esta funcionando muito bem. Parabéns.,,,

[3] Comentário enviado por magnus em 10/01/2023 - 06:41h

Belíssima dica!

Para mim não funcionou de início, retornava: python: command not found
Funcionou quando alterei no script para python3.

Obrigado.

[4] Comentário enviado por maurixnovatrento em 13/01/2023 - 12:25h

Fantástico.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10

[5] Comentário enviado por thalesX em 19/01/2023 - 11:24h

Muito bom!

[6] Comentário enviado por elton.linux em 24/01/2023 - 19:09h

Muito bom, usando no arch linux, instalado via archinstall... em matéria de performace, UP ARCH!

[7] Comentário enviado por renelouco em 27/01/2023 - 12:37h

fantastico muito obrigado funciona lindamente

[8] Comentário enviado por rubensk8r em 27/01/2023 - 18:15h

OBSERVAÇÃO IMPORTANTE!

Dependendo da distribuição, no script, onde tem python pode ser python mesmo ou python3.

No Arch Linux não precisa modificar nada no script, pois é python mesmo, já no Debian tem que modificar o script, onde tem python tem que trocar para python3.

Se der uma mensagem: Comando Python não encontrado ou python: command not found - você tem que modifciar no script, onde tem python mude para python3.

[9] Comentário enviado por removido em 29/01/2023 - 18:23h


Criei um wrapper pro OpenAI em shell script que roda no Bash e no Ksh. O opção -i produz imagens de acordo com as palavras-chave do usuário ou faz uma viarção de imagem se especificar o caminho para a aimagem PNG com essa mesma opção...
No meu repo do GitHub: https://github.com/mountaineerbr/scripts/blob/main/chatgpt.sh

[10] Comentário enviado por meinhardt_jgbr em 07/02/2023 - 20:19h

Mais um excelente artigo!! Pensei em usar para corrigir e melhorar o código de um robot para o MetaTrader 5, porém não funcionou no Linux Mint. Lendo os outros comentários tentei corrigir o problema editando python para python3 já que o Mint é baseado no Ubuntu e por extensão, no Debian mas ainda assim não funcionou.
Alguma outra sugestão?

Desde já obrigado

Jorge

[11] Comentário enviado por meinhardt_jgbr em 07/02/2023 - 21:11h

Mesmo antes de receber qualquer resposta, resolvi fazer nova tentativa e parti para a colocação de uma pergunta idêntica àquela mostrada no seu artigo, logo após o prompt. Tomou algum tempo, mas apareceu uma resposta cujo teor tinha diferenças com relação ao exemplo do artigo, mas em síntese o conteúdo era o mesmo apenas com uma sugestão diferente para o aplicativo a ser usado. Fiquei muito mais impressionado entretanto quando fiz uma pergunta bem mais específica com referencia a correção de robot para MetaTrader 5 e a resposta foi "na môsca". Segue abaixo o conteúdo das perguntas que fiz e das respostas. Definitivamente funcionou impecavelmente. O Mané aqui é que pensou que no terminal apareceria algum prompt diferente daquele padrão do terminal.
===============================================
No Debian, como faço para converter um arquivo .mp3 em .avi?

Não é possível converter diretamente arquivos do formato MP3 para AVI no Debian. O arquivo MP3 primeiro precisa ser convertido para um formato de vídeo apropriado, como DivX, e então para AVI. Você pode usar um programa de conversão de áudio/vídeo gratuito chamado Handbrake para essa tarefa. Para instalá-lo, abra o Terminal, digite o seguinte comando e pressione Enter:

sudo apt-get install handbrake-gtk

Após o download, abra o Handbrake e siga as instruções para converter o arquivo MP3 em AVI.
================================================================
Minha segunda pergunta:
=================================================================
Como fazer a correção e otimização do código de um robot para MetaTrader 5?

Verifique os parâmetros de ajuste: Execute uma análise em profundidade da lógica operacional e dos parâmetros no seu robot para MetaTrader 5 para verificar se todos os parâmetros de ajuste devem permanecer válidos ou se precisam de ser ajustados.

Teste o desempenho do seu robô: Execute seu robô em uma conta de demonstração, visualize e monitore seu desempenho para detectar quaisquer falhas de funcionamento, falhas de projeto, erros de backtesting, e quaisquer outros problemas.

Otimize de acordo com as condições de mercado: Use a ferramenta Otimizador no ambiente de backtest para ajustar os parâmetros do seu robô para aproveitar ao máximo o lucro em uma condição de mercado específica.

Faça testes aprofundados: Certifique-se de realizar testes aprofundados de volta ao robô para garantir que ele será rentável nas condições de mercado atuais.

Execute o robô em contas de negociação ao vivo: Uma vez que o robô passou com sucesso os testes anteriores, ele pode ser executado em uma conta ao vivo. Ao executar um robô ao vivo, é importante manter um olho atento na conta de negociação para monitorar seu desempenho e, se necessário, realizar alterações no robô, enquanto ele está sendo executado.

=============================================================
Minha terceira pergunta
==============================================================
Como corrigir robot para metaTrader 5 que apresenta erros ao fazer a compilação?

Certifique-se de que tenha a versão correta do MetaEditor instalada. A versão mais recente é necessária às vezes para compilar corretamente um Expert Advisor para o MetaTrader 5.

Abra o arquivo do Robot e acesse a aba "Início". Verifique se todos os cabeçalhos de arquivos foram incluídos corretamente.

Verifique se todas as variáveis usadas estão definidas corretamente.

Verifique se não há nenhum erro de sintaxe no código.

Verifique se os nomes usados para variáveis, funções e outros recursos seguem as regras de nomenclatura de C ++.

Verifique se os arquivos de cabeçalho ou bibliotecas externas são referenciados corretamente.

Verifique se as funções são chamadas com os parâmetros e retornos corretos.

Verifique se não há nenhum problema com referências circulares.

Recompile o Robot e verifique se houve algum erro de compilação.

Se ainda houver erros de compilação, contate a equipe de suporte do MetaTrader 5 para obter ajuda.





[12] Comentário enviado por retr0d2_ em 15/02/2023 - 00:51h


Infelizmente não funcionou no meu ubuntu, simplesmente não aparece nada no terminal, nem abre só inicia mas não aparece nada, podem me ajudar?

[13] Comentário enviado por meinhardt_jgbr em 15/02/2023 - 11:46h


[12] Comentário enviado por retr0d2_ em 15/02/2023 - 00:51h


Infelizmente não funcionou no meu ubuntu, simplesmente não aparece nada no terminal, nem abre só inicia mas não aparece nada, podem me ajudar?



Acredito que está acontecendo o mesmo que comigo. Após seguir as orientações do artigo do Fábio, digitei no terminal chatgpt e o prompt simplesmente pulou de linha e não aconteceu mais nada. Como não ocorreu mais nada, nem mesmo o prompt ficou piscando, também acreditei que a instalação não havia sido concluída corretamente. Por esta razão, postei a minha pergunta e pedido de ajuda. Conforme comentei em resposta anterior, ainda antes de receber qualquer resposta, tentei mesmo naquele prompt inativo aparentemente, colocar a minha primeira pergunta ao robot e digitei exatamente a mesma primeira pergunta do exemplo. Demorou alguns segundos e "voilà" o terminal começou a "cuspir" conteúdo e mostrar a resposta do robot. O conteúdo da resposta, foi mais ou menos similar ao do exemplo, mas não exatamente o mesmo. Após isto, fiz novas perguntas e após algum tempo para o robot "pensar" e articular alguma resposta, o conteúdo começou a aparecer. A sugestão é que você tente fazer o mesmo, ou seja, digite sua pergunta ainda sobre aquele prompt aparentemente "morto" e não piscante para confirmar se a resposta aparece ou não. A sugestão seguinte é abrir novamente o script de configuração e agregar o número 3 após o python, mudando de python para python 3. Pode ser que dependendo a sua versão instalada do Ubuntu (considerando que o mesmo também é derivado do Debian), seja necessária esta alteração.

[14] Comentário enviado por fabio em 17/02/2023 - 04:18h

Quem estiver tendo problemas, remova toda a parte do comando de "| python" em diante. Você terá a resposta sem formatação, daí basta reconstruir o comando tentando entender cada parte do mesmo.

Uma dica: usem o próprio playground do beta.openai.com, cole o comando do artigo e peça pra ele explicar o comando. Irão se surpreender.

Vocês também podem colar o script acima e dizer que não está funcionando na sua distro XXX, ele irá te entregar variações do bash usado no artigo até encontrar uma que funcione.

[15] Comentário enviado por lonerwolfgang em 18/02/2023 - 00:13h

Comigo não funcionou, recebo esse erro:
Traceback (most recent call last):
File "<string>", line 1, in <module>
KeyError: 'choices'

[16] Comentário enviado por fabio em 18/02/2023 - 00:15h


[15] Comentário enviado por lonerwolfgang em 18/02/2023 - 00:13h

Comigo não funcionou, recebo esse erro:
Traceback (most recent call last):
File "&lt;string&gt;", line 1, in &lt;module&gt;
KeyError: 'choices'


Remova a parte do comando "| python" até o final da linha. Se não existe "choices" na resposta, aposto que sua API token está errada. Você verá o erro na tela.

[17] Comentário enviado por TIMUS em 21/02/2023 - 18:07h

Muito obrigado... Seguindo a recomendação dos colegas. A única alteração que fiz foi adicionar o número 3 no python. No mais. Deu tudo certo. Uso Debian/openbox/XTerm.

[18] Comentário enviado por konqueror em 07/06/2023 - 21:33h


Excelente artigo com certeza vou implementar no meu Ubuntu

[19] Comentário enviado por Lamn em 05/03/2024 - 09:23h

Comigo inicialmente não funcionou, eu tive que trocar onde havia "text-davinci-003\" por "gpt-3.5-turbo-instruct
". Aparentemente text-davinci-003 é um "modelo obsoleto do OpenAI".

[20] Comentário enviado por fabio em 07/03/2024 - 02:48h


Aparentemente text-davinci-003 é um "modelo obsoleto do OpenAI


Isso mesmo, o modelo foi descontinuado.


[21] Comentário enviado por maurixnovatrento em 26/03/2024 - 21:10h


[19] Comentário enviado por Lamn em 05/03/2024 - 09:23h

Comigo inicialmente não funcionou, eu tive que trocar onde havia "text-davinci-003\" por "gpt-3.5-turbo-instruct
". Aparentemente text-davinci-003 é um "modelo obsoleto do OpenAI".


Boa observação.

______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts