IA Generativa | Como controlar o ChatGPT para escrever um texto que atenda às suas expectativas (curso de DeepLearning.AI e OpenAI)
Como controlar o ChatGPT? Essa é a pergunta que o novo curso “ChatGPT Prompt Engineering for Developers” de Isa Fulford (OpenAI) e Andrew Ng (DeepLearning.AI) tenta responder: dois princípios-chave (fornecer instruções claras e ajudar o modelo a pensar); consultas iterativas para encontrar a abordagem certa em aplicações específicas; capacidades como síntese, inferência, transformação e expansão… Criar aplicativos com esses modelos tem um grande potencial de crescimento mas é crucial usar ferramentas de IA generativa como ChatGPT de forma responsável, com foco no impacto positivo. Esse post apresenta tudo isso em 3 linguás (Português, Francês, Inglês) a partir desse curso.
Links para as 3 versões no github
Aqui estão os links para as 3 versões no github:
Histórico
O curso “ChatGPT Prompt Engineering for Developers” foi originalmente criado para desenvolvedores para ensiná-los os princípios e táticas a serem usados para controlar o ChatGPT, ou seja, guiá-lo através de uma instrução em linguagem natural para escrever um texto que atenda às suas expectativas.
No entanto, como é basicamente aprender a falar com o ChatGPT e é possível fazê-lo sem qualquer código (ou seja, numa interface Web), pareceu-me que todos poderiam beneficiar desse curso. Assim, decidi resumir cada um dos seus capítulos e listar os pontos-chave apresentados pelos formadores Isa Fulford (OpenAI) e Andrew Ng (DeepLearning.AI).
Além dos falantes de inglês, decidi também facilitar seu acesso aos falantes de francês e português com versões traduzidas para seus respectivos idiomas.
Realização… pelo ChatGPT
Textos
Então, como fazer tudo isso o mais rápido possível? Claro, trabalhei com um assistente… chamado ChatGPT 4.
Usando minha conta pessoal (https://chat.openai.com) no OpenAI, pedi em inglês ao ChatGPT:
- para resumir as transcrições de texto de cada um dos vídeos do curso,
- para extrair os pontos principais do formulário de uma lista,
- e, em seguida, para traduzir suas respostas textuais em francês e português.
Observação: coloquei as instruções usadas no apêndice desse post.
Fiz então uma revisão dos textos e possivelmente fiz algumas alterações quando julguei necessário (nada essencial).
Finalmente, integrei todos os textos no github na página “Curso | ChatGPT Prompt Engineering for Developers”.
Nota: As transcrições de texto e notebooks são disponibilizados no github por meio de links para permitir que todos possam obter todas as informações e facilitar sua implementação. No entanto, deve se registrar na página do curso para assistir aos vídeos.
Foto
Mesmo a foto desse post fo realizada pela IA Generativa.
Em primeiro lugar, usei o modelo DeepFloyd IF da organização DeepFloyd na Hugging Face, um novo modelo de texto para imagem de código aberto de última geração com um alto grau de fotorrealismo e compreensão da linguagem. No Space desse modelo, digitei o prompt seguinte:
50mm lens, photo realism, cine lens. A photo of a cat using an Apple MacBook Pro with yellow text written on it: “ChatGPT Prompt”. The cat is sitting on the grass in a park with pretty flowers.
Aqui a imagem que selecionei das imagens criadas pelo modelo:
Em segundo lugar, tirei o logo “if” no canto inferior direito usando o Space do modelo Stable Diffusion Inpainting da Runway.
Por fim, usei a ferramenta de outpainting da DALL-E pela interface Labs de OpenAI para aumentar a largura da foto e completar o background (queria usar a ferramenta OpenSource no Space “Stable Diffusion Infinity Outpainting” para fazer isso mas parece não funcionar).
Pontos chave
Lição 1 — Introdução
- O curso diferencia entre dois tipos de LLMs: LLMs básicos que prevêem a próxima palavra com base em dados de treinamento de texto e LLMs ajustados por instrução (prompt) que seguem instruções específicas.
Lição 2 — Princípios e Táticas
- 2 princípios: Escreva instruções claras e específicas / Ajude o modelo a pensar.
- Táticas do princípio 1: Uso de Delimitadores, Solicitar saída estruturada, Verificação de condição, Convide para se inspirar em alguns exemplos.
- Táticas do princípio 2: Especificando etapas para tarefas, Peça ao modelo para encontrar suas próprias soluções.
- Limites do modelo: “Alucinações”.
Lição 3 — Instrução interativa
- Desenvolver instruções eficazes para grandes modelos de linguagem é um processo iterativo.
Lição 4 — Resumo e extração de informações
- Grandes modelos de linguagem podem ser usados para resumir grandes volumes de texto, permitindo a compreensão efetiva do conteúdo.
- Resumo específico pode ser gerado de acordo com os requisitos de diferentes departamentos, como remessa ou preços, com instruções personalizadas.
- Pode extrair informações específicas em vez de fornecer um resumo geral, o que pode ser mais apropriado para determinados departamentos.
Lição 5 — Inferência (classificação, detecção de tópicos, extração de informações)
- Grandes modelos de linguagem podem executar várias tarefas inferenciais, como análise de sentimentos, extração de nomes e rótulos e compreensão do contexto usando instruções textuais simples.
- Modelos de linguagem grandes também podem lidar com instruções multitarefa, extraindo vários campos de uma string de texto em uma única instrução, economizando tempo de processamento e recursos.
- Esses modelos podem inferir tópicos de um grande pedaço de texto, o que os torna úteis para analisar e categorizar grandes corpos de texto, como artigos de notícias.
- O treinamento Zero Shot permite que o modelo identifique quais tópicos de uma lista predefinida são abordados em um determinado texto sem nenhum dado de treinamento específico.
Lição 6 — Transformações
- Modelos de linguagem grandes podem traduzir texto em vários idiomas, incluindo versões informais e formais.
- Eles podem detectar o idioma de um determinado texto, útil em um ambiente multilíngue como uma empresa multinacional de comércio eletrônico.
- Os modelos podem mudar o tom do texto escrito, como transformar gírias em linguagem comercial.
- Eles podem converter dados entre diferentes formatos (por exemplo: JSON para HTML).
- GPT-4 pode ajudar a revisar e corrigir erros de gramática e ortografia no texto.
- O GPT-4 também pode ajudar a transformar o texto para se ajustar a certos estilos e formatos, como estilo APA e formato de remarcação.
Lição 7 — Assistente
- Ótimos modelos de idiomas podem traduzir texto entre diferentes idiomas e formatos e podem ajudar na correção ortográfica e gramatical.
- Com instruções adequadas, o modelo pode alterar o tom de um texto para atender diferentes públicos.
- Modelos de linguagem podem ser usados para transformar textos curtos em textos mais longos, úteis para gerar conteúdo mais detalhado a partir de prompts.
- O modelo pode ser usado como um assistente de atendimento ao cliente de IA para gerar respostas personalizadas às avaliações dos clientes.
- O parâmetro de temperatura pode ser usado para controlar o grau de exploração ou variabilidade nas respostas do modelo.
- É importante iterar e ajustar as instruções para obter resultados mais precisos.
- É crucial ser transparente quando a IA gera texto para os usuários, informando que o texto foi gerado por um modelo de linguagem.
Lição 8 — ChatBot
- Modelos de linguagem ampla podem ser usados para criar chatbots personalizados para várias tarefas.
- O formato de chat envolve o uso de uma lista de mensagens, incluindo mensagens do sistema e do usuário.
- As mensagens do sistema ajudam a definir o comportamento e a personalidade do assistente sem que o usuário perceba.
- Fornecer contexto é crucial para que o modelo gere respostas precisas.
- Uma interface de usuário pode ser criada para interagir com o chatbot e coletar consultas do usuário.
- As conversas podem ser estendidas adicionando mensagens ao contexto.
- O modelo pode gerar resumos JSON com base na conversa para processamento posterior.
- A personalização do comportamento e da personalidade do chatbot pode ser obtida modificando a mensagem do sistema.
Lição 9 — Conclusão
- Dois princípios-chave para formular consultas: instruções claras e tempo para o modelo pensar.
- A importância do desenvolvimento de consultas iterativas para encontrar a abordagem certa para aplicações específicas.
- Diferentes capacidades de grandes modelos de linguagem, como síntese, inferência, transformação e expansão.
- Incentivo para explorar as próprias ideias de projetos, mesmo começando com projetos pequenos ou divertidos.
- A empolgação e o potencial de crescimento de criar aplicativos com grandes modelos de linguagem.
- A importância do uso responsável das ferramentas de IA, com foco no impacto positivo.
- Convite à partilha e divulgação do curso bem como dos projetos realizados.
Apêndice
Aqui estão as instruções (prompts) que usei para resumir cada lição e listar os pontos-chave apresentados pelos formadores Isa Fulford (OpenAI) e Andrew Ng (DeepLearning.AI).
Prompt 1
You are a course teacher.
Summarize the transcript delimited by triple quotes at most 80 words.
Then, extract the most important points of the transcript as a list with a short explanation if necessary.
Follow the following format:
Summary: <summary of the transcript>
Key points: <most important points of the transcript as a list>
- ...
- ...
- ...
Transcript:
"""
<transcript>
"""
Summary:
Key points:
Prompt 2
Translate the summary and key points into French and Portuguese.
Prompt 3 (se necessário)
Keep writing until the translation is finished.
Referências
About the author: Pierre Guillou is an AI consultant in Brazil and France. Get in touch with him through his LinkedIn profile.