Inteligência artificial com Python e ChatGPT
- #Python
- #Inteligência Artificial (IA)
O que é ChatGPT:
O ChatGPT é um sistema desenvolvido pela empresa Open AI, que gera respostas em linguagem humana, a partir das frases que recebe.
A OpenAI é uma empresa de pesquisa em inteligência artificial com sede em San Francisco, Califórnia, nos EUA. Ela desenvolveu o modelo de linguagem GPT (Generative Pre-trained Transformer). Este modelo é capaz de gerar textos coerentes, responder perguntas, traduzir idiomas e criar códigos de programação.
O GPT é uma arquitetura de redes neurais que resolve um problema clássico em Inteligência Artificial: o processamento de linguagem natural. Seus fundamentos estão na área do Deep Learning, que é uma forma de aprendizado de máquina (Machine Learning).
Como funciona o ChatGPT:
O ChatGPT baseia-se numa rede neural chamada transformer. O modelo de transformação foi treinado com uma grande quantidade de textos da internet. Isso possibilitou que ele aprendesse padrões, gramática e relações contextuais entre as palavras.
O processo de interação com o ChatGPT envolve as seguintes etapas:
1. Entrada: a pessoa escreve uma frase e envia a mensagem;
2. Tokenização: a entrada é dividida em unidades menores, chamadas de tokens, que podem ser desde um caractere até uma palavra;
3. Codificação: os tokens são convertidos em representações numéricas que o modelo pode entender (cada token corresponde a um único valor numérico);
4. Processamento: a entrada codificada é passada através da rede neural;
5. Saída: o modelo seleciona o resultado mais apropriado, baseado nos padrões aprendidos durante o treinamento, converte em texto humano e exibe para a pessoa.
Casos de uso
Entre outras coisas, a inteligência artificial embutida no GPT pode ser utilizada para:
- Criação de conteúdo de mídias sociais;
- Conversão de texto para determinados estilos;
- Escrita de códigos de programação;
- Análise de dados;
- Produção de materiais de aprendizagem;
- Criação de assistentes de voz interativos.
Limitações
Algumas limitações do ChatGPT são:
- Falta de conhecimento específico atualizado (treinamento até setembro de 2021);
- Dificuldade em lidar com informações pessoais confidenciais;
- Possibilidade de erros e respostas imprecisas;
- Sensibilidade ao contexto e ambiguidade;
- Tendência a ser prolixo ou repetitivo.
Usando o ChatGPT
É possível utilizar o ChatGPT através do site da OpenAI. É necessário criar uma conta gratuita.
A interface é bem simples. No exemplo abaixo, eu enviei uma mensagem pedindo a explicação sobre a API do ChatGPT.
Usando a API do ChatGPT
A OpenAI disponibiliza uma API para desenvolvedores que queiram utilizar o modelo em suas aplicações. Na página https://platform.openai.com/docs/api-reference estão as instruções sobre a utilização sobre a utilização da API com Python, Node.js e outras linguagens.
Exemplo de utilização da API do ChatGPT com Python
No repositório https://github.com/szalbuque/chatGPT_API_Python está disponível o Jupyter Notebook que criei para testar a utilização da API do ChatGPT com Python.
É um teste simples, com o envio de uma mensagem e a impressão da resposta.
O código abaixo faz a autenticação na OpenAI usando uma chave de API (API_KEY) criada previamente.
headers = {'Authorization': f'Bearer {API_KEY}'}
link = 'https://api.openai.com/v1/models'
requisicao = requests.get(link, headers=headers)
print(requisicao.text)
Em seguida, é feita uma requisição do tipo POST contendo os parâmetros requeridos pela API. A mensagem principal, neste exemplo, está em 'content', ou seja, é a frase 'explique como funciona a API do ChatGPT'.
headers = {'Authorization': f'Bearer {API_KEY}', 'content-type':'Application/json'}
link = "https://api.openai.com/v1/chat/completions"
id_modelo = "gpt-3.5-turbo-0301"
body_message = {
'model': id_modelo,
'messages': [{'role':'user',
'content':'explique como funciona a API do ChatGPT'}]
}
body_message = json.dumps(body_message)
requisicao = requests.post(link, headers=headers, data=body_message)
print(requisicao)
print(requisicao.text)
resposta_completa = requisicao.json()
resposta_refinada = resposta_completa['choices'][0]['message']['content']
print(resposta_refinada)
O resultado da requisição, já transformada para o formato JSON, é armazenado na variável 'resposta_refinada'.
Saída:
Conclusão
Mesmo com suas limitações, o modelo criado pela OpenAI pode ser bastante útil como auxiliar nas tarefas cotidianas de estudo ou trabalho. Uma resposta gerada pela ferramenta pode ser usada como base para a criação de um texto criativo, agilizando o trabalho de um publicitário ou um pesquisador, por exemplo.
Depois de utilizar o ChatGPT algumas vezes, considero que suas respostas me ajudam a entender assuntos complexos porque sintetizam as informações que estão dispersas na internet num texto compreensível. É realmente parecido com uma conversa.
Pesquisas sobre inteligência artificial generativa já existem há muitos anos, porém a rapidez com que o ChatGPT ganhou popularidade fez com que muitas empresas, inclusive as Big Techs, investissem mais recursos nessa área.
Como desenvolvedores, precisamos nos manter atentos às novidades que têm surgido no campo da inteligência artificial. Seja qual for o objetivo do software ou a linguagem utilizada, precisamos analisar se a utilização de uma ferramenta de IA pode agilizar o desenvolvimento ou a utilização do sistema pelo usuário final.
Fontes:
https://www.iberdrola.com/inovacao/deep-learning
https://aws.amazon.com/pt/what-is/gpt/
https://platform.openai.com/docs/api-reference