IA Generativa | Como controlar o ChatGPT para escrever um texto que atenda às suas expectativas (curso de DeepLearning.AI e OpenAI)

Pierre Guillou
7 min readJun 9, 2023
Imagem criada por ferramentas de Texto2Imagem (veja paragrafo “Criação da imagem de capa”)
Imagem criada por ferramentas de Texto2Imagem (veja paragrafo “Foto”)

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

Interface Web do ChatGPT da OpenAI que foi usada para resumir, extrair os pontos chave e traduzir o curso “ChatGPT Prompt Engineering for Developers” de Isa Fulford (OpenAI) e Andrew Ng (DeepLearning.AI)
Interface Web do ChatGPT da OpenAI que foi usada para resumir, extrair os pontos chave e traduzir o curso “ChatGPT Prompt Engineering for Developers” de Isa Fulford (OpenAI) e Andrew Ng (DeepLearning.AI)

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:

Imagem de um gato na frente de um computador com ChatGPT escrito pelo modelo DeepFloyd IF da organização DeepFloyd na Hugging Face
Imagem de um gato na frente de um computador com ChatGPT escrito pelo modelo DeepFloyd IF da organização DeepFloyd na Hugging Face

Em segundo lugar, tirei o logo “if” no canto inferior direito usando o Space do modelo Stable Diffusion Inpainting da Runway.

Imagem de um gato na frente de um computador com ChatGPT escrito (mas sem logo no canto inferior direito) pelo Space do modelo Stable Diffusion Inpainting da Runway
Imagem de um gato na frente de um computador com ChatGPT escrito (mas sem logo no canto inferior direito) pelo 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).

Imagem criada por ferramentas de Texto2Imagem (veja paragrafo “Criação da imagem de capa”)
Imagem de um gato na frente de um computador com ChatGPT escrito outpainted pela ferramenta de outpainting da DALL-E (com a interface Labs de OpenAI)

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.

--

--