Todas as lições

Curso

IA do 11.º ano: IA generativa e engenharia de agentes

Constrói aplicações LLM com prompts, APIs, retrieval e ferramentas, e depois testa-as quanto à segurança.

Faz as lições por ordem. No fim, sabes contar tokens, comparar textos pela semelhança de embeddings e explicar a amostragem e as janelas de contexto. Sabes escrever prompts estruturados e comparar versões de prompts com casos de teste. Sabes rever código escrito pela IA e escrever testes que esse código tem de passar. Sabes obter JSON que corresponde a um esquema, construir um chatbot com um limite de custo e construir uma aplicação que responde a partir de documentos e os cita. Sabes construir um agente com ferramentas limitadas e uma regra de paragem, defender uma aplicação contra injeção de prompts, construir uma suite de testes automática e lançar um assistente de investigação apoiado nas fontes.

Como usar estas lições

  • Começa na lição marcada Faz isto. Segue quando conseguires fazer sozinho a linha por baixo do título.
  • Joga os Jogos primeiro. Depois faz os Testes. 8 de 10 certas para passar. As Fichas são em papel. As respostas estão em baixo.
  • Cada lição assenta na lição anterior. Guarda um conjunto de testes para cada aplicação e corre-o depois de cada mudança.
  • As lições de código usam Python. Usa só os serviços de IA que o teu professor aprovar, mantém as chaves API fora do código, define um limite de gastos e nunca envies dados pessoais para um modelo.

Cada lição tem jogos, testes e fichas.

0 de 36

Bases dos LLM

  1. 1Tokens e vocabulárioConta tokens e explica porque importam.
    • Divide o texto em tokens com um tokenizer real.
    • Compara a contagem de tokens entre línguas.
    • Liga os tokens ao custo e aos limites de contexto.
  2. 2Semelhança de embeddingsCompara textos pela semelhança de embeddings.
    • Obtém embeddings de um modelo.
    • Calcula a semelhança do cosseno.
    • Ordena frases pelo significado, não pelas palavras em comum.
  3. 3Amostragem, temperatura e janelas de contextoExplica a amostragem, a temperatura e as janelas de contexto.
    • Explica a previsão do token seguinte.
    • Muda a temperatura e compara as saídas.
    • Mostra o que acontece quando o texto passa da janela de contexto.
  4. 4Pretraining, fine-tuning e instruction tuningDistingue pretraining, fine-tuning e instruction tuning.
    • Diz que dados cada passo usa.
    • Explica o feedback das pessoas.
    • Diz porque um modelo tem um corte de conhecimento.

Engenharia de prompts

  1. 5Prompts estruturadosEscreve um prompt estruturado com papel, tarefa, regras e formato.
    • Separa as instruções dos dados de entrada.
    • Indica o formato da saída.
    • Compara um prompt estruturado e um não estruturado.
  2. 6Exemplos few-shotMelhora a saída com exemplos few-shot.
    • Acrescenta dois ou três exemplos.
    • Escolhe exemplos que cubram casos limite.
    • Mede a mudança num conjunto de testes.
  3. 7Comprimento, tom e formatoLimita o comprimento, o tom e o formato.
    • Define limites de comprimento e de nível de leitura.
    • Diz ao modelo o que fazer quando não sabe.
    • Verifica as saídas face a cada limite.
  4. 8Casos de teste e versões de promptsEscreve casos de teste e compara versões de prompts.
    • Escreve vinte entradas de teste com os resultados esperados.
    • Dá pontuação a duas versões de prompt.
    • Fica com a versão que ganha.

Programação com ajuda da IA

  1. 9Código a funcionar a partir de uma especificaçãoObtém código a funcionar a partir de uma especificação clara.
    • Escreve uma especificação com entradas, saídas e exemplos.
    • Gera código a partir dela.
    • Corre-o nos exemplos.
  2. 10Código escrito pela IAEncontra bugs e riscos no código escrito pela IA.
    • Verifica casos limite e o tratamento de erros.
    • Deteta funções e bibliotecas inventadas.
    • Deteta código inseguro, como segredos no código-fonte.
  3. 11Testes que o código de IA tem de passarEscreve testes que o código de IA tem de passar.
    • Escreve testes com pytest.
    • Pede à IA que escreva código para os passar.
    • Acrescenta um teste por cada bug que encontrares.
  4. 12Corrigir um bug com a IACorrige um bug com a IA e explica a correção.
    • Faz um exemplo pequeno que mostre o bug.
    • Pede à IA as causas, não só a correção.
    • Explica porque a correção funciona.

APIs de LLM

  1. 13Pedido de chat e a respostaEnvia um pedido de chat e lê a resposta.
    • Carrega a chave API a partir do ambiente.
    • Envia um pedido com um SDK.
    • Lê a resposta e o uso de tokens.
  2. 14Mensagens de sistema e do utilizadorUsa mensagens de sistema e do utilizador.
    • Põe as regras na mensagem de sistema.
    • Põe a entrada do utilizador nas mensagens do utilizador.
    • Guarda o histórico de uma conversa.
  3. 15JSON que corresponde a um esquemaObtém JSON que corresponde a um esquema.
    • Define um esquema JSON.
    • Pede uma saída que o siga.
    • Valida a saída e tenta de novo se falhar.
  4. 16Chatbot com um limite de custoConstrói um chatbot com histórico e um limite de custo.
    • Guarda o histórico da conversa.
    • Corta mensagens antigas para caberem no contexto.
    • Para quando o limite de custo é atingido.

Geração com retrieval

  1. 17Porque apoiar nas fontesExplica porque apoiar nas fontes reduz respostas inventadas.
    • Pergunta a um modelo sobre um documento que ele nunca viu.
    • Acrescenta o documento e pergunta outra vez.
    • Desenha o fluxo: primeiro recuperar, depois gerar.
  2. 18Dividir documentos em blocosDivide documentos em blocos.
    • Divide por tamanho com sobreposição.
    • Divide por títulos.
    • Guarda a fonte e a página com cada bloco.
  3. 19Blocos mais próximos de uma perguntaEncontra os blocos mais próximos de uma pergunta.
    • Cria embeddings dos blocos e guarda-os.
    • Recupera as melhores correspondências para uma pergunta.
    • Mede com que frequência se encontra o bloco certo.
  4. 20Responder a partir de documentos e citá-losConstrói uma aplicação que responde a partir de documentos e os cita.
    • Põe os blocos recuperados no prompt.
    • Exige uma citação para cada afirmação.
    • Verifica que as citações apontam para passagens reais.

Ferramentas de IA e agentes

  1. 21O modelo chama uma funçãoDeixa um modelo chamar uma função.
    • Descreve uma ferramenta com um esquema.
    • Corre a ferramenta que o modelo pede.
    • Envia o resultado de volta ao modelo.
  2. 22Passos que um modelo pode executarDivide uma tarefa em passos que um modelo pode executar.
    • Pede primeiro um plano ao modelo.
    • Executa o plano um passo de cada vez.
    • Verifica cada passo antes de seguir.
  3. 23O que um agente já fezRegista o que um agente já fez.
    • Guarda cada passo e o seu resultado.
    • Resume históricos longos.
    • Decide o que o agente deve esquecer.
  4. 24Agente com ferramentas limitadas e uma regra de paragemConstrói um agente com ferramentas limitadas e uma regra de paragem.
    • Permite só ferramentas seguras e só de leitura.
    • Limita o número de passos.
    • Pergunta a uma pessoa antes de qualquer ação que mude alguma coisa.

IA generativa multimodal

  1. 25Como os modelos de difusão fazem imagensExplica como os modelos de difusão fazem imagens.
    • Explica como se acrescenta e se remove ruído.
    • Explica como o texto guia a imagem.
    • Discute consentimento e direitos de autor das imagens geradas.
  2. 26Perguntas sobre uma imagemFaz a um modelo perguntas sobre uma imagem.
    • Envia uma imagem com uma pergunta.
    • Obtém uma descrição estruturada.
    • Encontra um pormenor que o modelo erra.
  3. 27Fala para texto e texto para falaTransforma fala em texto e texto em fala.
    • Transcreve uma gravação curta.
    • Mede a taxa de erro das palavras.
    • Gera fala e marca-a como feita pela IA.
  4. 28Protótipo com dois tipos de entradaConstrói um protótipo que usa dois tipos de entrada.
    • Escolhe duas entradas, como voz e imagem.
    • Liga-as numa só aplicação.
    • Testa-o com cinco utilizadores.

Fiabilidade e segurança

  1. 29Respostas que as fontes não sustentamDeteta respostas que as fontes não sustentam.
    • Verifica cada afirmação face às fontes.
    • Usa uma segunda chamada ao modelo para marcar afirmações sem sustentação.
    • Mede com que frequência as respostas estão totalmente sustentadas.
  2. 30Injeção de promptsDefende uma aplicação contra injeção de prompts.
    • Escreve ataques escondidos na entrada do utilizador e nos documentos.
    • Separa instruções de confiança de texto que não é de confiança.
    • Limita as ferramentas a que um ataque podia chegar.
  3. 31Pontuações com rubricas e conjuntos de testesDá pontuações às saídas com rubricas e conjuntos de testes.
    • Escreve uma rubrica de pontuação.
    • Pontua à mão e com um modelo.
    • Verifica com que frequência concordam.
  4. 32Suite de testes automáticaConstrói uma suite de testes automática para uma aplicação LLM.
    • Cobre exatidão, formato, segurança e custo.
    • Corre-a com um só comando.
    • Faz a build falhar quando as pontuações descem.

Estúdio de produtos de IA

  1. 33Utilizadores, funcionalidades e medidas de sucessoEscreve os utilizadores, as funcionalidades e as medidas de sucesso.
    • Escolhe uma coleção de documentos de investigação aprovados.
    • Escreve os utilizadores e as suas perguntas.
    • Define metas para exatidão, citações e custo.
  2. 34Retrieval, respostas e citaçõesConstrói retrieval, respostas e citações.
    • Indexa os documentos.
    • Responde com citações.
    • Corre a suite de testes.
  3. 35Dizer que não seiFaz a aplicação dizer que não sei quando falta a prova.
    • Deteta quando o retrieval não encontra nada de útil.
    • Responde «As fontes não dizem» em vez de adivinhar.
    • Testa-o com perguntas a que os documentos não conseguem responder.
  4. 36Assistente de investigação apoiado nas fontesLança e apresenta um assistente de investigação apoiado nas fontes.
    • Disponibiliza a aplicação para a tua turma.
    • Apresenta as pontuações de exatidão, apoio nas fontes, segurança e custo.
    • Explica os limites.