UC00623

Inteligência Artificial

Fundamentos, ML, LLMs, APIs

Curso profissional · 50h · IA aplicada

Plano

  1. IA — landscape 2026
  2. Tipos de IA
  3. Machine Learning fundamentos
  4. Treino, validação, métricas
  5. Deep Learning + redes neuronais
  6. LLMs — Large Language Models
  7. Prompt engineering
  8. APIs: OpenAI, Anthropic, etc.
  9. RAG e agents
  10. Ética e limites

Bloco 1 · IA hoje

O que mudou desde 2022

  • ChatGPT (Nov 2022) democratizou IA.
  • GPT-4, Claude, Gemini: capazes de tarefas complexas.
  • APIs acessíveis a qualquer dev.
  • Custos baixaram 100x em 3 anos.
  • Open source (Llama, Mistral) competitivo.

IA deixou de ser nicho académico → ferramenta diária.

Onde se usa IA

  • Code: GitHub Copilot, Cursor, Claude Code.
  • Conteúdo: copywriting, imagens (Midjourney), vídeo (Sora).
  • Search: Perplexity, Google AI Overviews.
  • Customer support: chatbots competentes.
  • Análise: dados, contratos, código.
  • Education: tutoria personalizada.
  • Medicina: diagnóstico de imagem, descoberta de fármacos.

Carreira em IA

Roles:

  • AI Engineer: usa APIs (OpenAI, etc.) em produtos.
  • ML Engineer: treina modelos próprios.
  • Data Scientist: análise + experimentação.
  • Prompt engineer: optimiza prompts.
  • Research scientist: cria nova IA.

Salários: AI Engineer €40k-€80k em PT, $150k+ EUA.

Bloco 2 · Tipos de IA

Categorias

  • Narrow AI (hoje): especializada numa tarefa.
  • AGI (futuro?): igual a humano em qualquer tarefa.
  • ASI (especulativo): super-humano em tudo.

Esta UC: narrow AI atual + introdução a LLMs.

Abordagens

  • Symbolic: regras explícitas (Prolog, sistemas peritos). Velho mas ainda usado.
  • Statistical/ML: aprende de dados (random forests, SVM).
  • Deep Learning: redes neuronais profundas (visão, voz).
  • LLMs: transformers gigantes treinados em texto.
  • Hybrid: combinação.

Bloco 3 · Machine Learning

Tipos de aprendizagem

  • Supervised: dados rotulados (input → output esperado).

    • Classificação (spam/não-spam).
    • Regressão (preço da casa).
  • Unsupervised: sem rótulos.

    • Clustering (agrupar clientes).
    • Dimensionality reduction.
  • Reinforcement: aprende por tentativa e erro.

    • Jogos, robótica.

Algoritmos clássicos

  • Linear Regression: preço ~ tamanho.
  • Logistic Regression: classificação binária.
  • Decision Trees / Random Forest: explicável.
  • SVM: poderoso para data baixa-dim.
  • K-Means: clustering.
  • KNN: classificação por vizinhos.

Em Python: scikit-learn implementa tudo.

Exemplo: classificar emails

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split

emails = [...]      # textos
labels = [...]      # 0=ham, 1=spam

X_train, X_test, y_train, y_test = train_test_split(emails, labels)

vec = TfidfVectorizer()
X_train_vec = vec.fit_transform(X_train)
X_test_vec = vec.transform(X_test)

model = MultinomialNB()
model.fit(X_train_vec, y_train)
acc = model.score(X_test_vec, y_test)
print(f"Accuracy: {acc:.2%}")

Bloco 4 · Métricas

Classificação

Predicted YES Predicted NO
Actual YES TP FN
Actual NO FP TN
  • Accuracy: (TP+TN) / total — global.
  • Precision: TP / (TP+FP) — quão correctas as YES previstas?
  • Recall: TP / (TP+FN) — quantas YES reais apanhei?
  • F1: média harmónica precision/recall.

Train/validation/test

Dataset completo
├── Train (70-80%): treinar modelo
├── Validation (10-15%): tunning hyperparâmetros
└── Test (10-15%): avaliação final (não tocar!)

NUNCA ajustar com base no test set → vais ter overfitting que não percebes.

Overfitting

  • Modelo decora training data, falha em novos dados.
  • Sintomas: training accuracy >> validation accuracy.
  • Soluções:
    • Mais dados.
    • Regularização (L1, L2, dropout).
    • Cross-validation.
    • Early stopping.

Bloco 5 · Deep Learning

Redes neuronais

Input → [Hidden layer 1] → [Hidden 2] → ... → Output

Cada "neurónio" calcula output = activation(W·input + b).

Aprende-se W e b via backpropagation + gradient descent.

Deep = muitas hidden layers.

Tipos de redes

  • CNN (Convolutional): imagens.
  • RNN/LSTM: séries temporais (legacy).
  • Transformer: NLP, agora tudo.
  • GAN: gerar imagens.
  • Diffusion: state-of-the-art em imagens (DALL-E, Stable Diffusion).
import torch
import torch.nn as nn

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)
    
    def forward(self, x):
        x = torch.relu(self.fc1(x))
        return self.fc2(x)

model = Net()
# treino com loss + optimizer ...

Bloco 6 · LLMs

Como funcionam (intuição)

  • Transformer architecture.
  • Treinados a prever próximo token em corpus massivo.
  • Aprendem padrões linguísticos, raciocínio, conhecimento.
  • Tamanho: GPT-4 ~1.8T parâmetros (estimado).

Token = pedaço de palavra (~4 chars em inglês).

Modelos principais 2026

  • GPT-4 / GPT-4o (OpenAI) — generalista.
  • Claude 4 Opus / Sonnet (Anthropic) — escrita, código.
  • Gemini 2 (Google) — multimodal, contexto enorme.
  • Llama 4 (Meta) — open source.
  • Mistral / Mixtral — open source competitivo.

Capabilities

  • Chat / conversação.
  • Resumir textos longos.
  • Traduzir.
  • Code generation (writing + debug).
  • Análise de documentos.
  • Reasoning (limitado mas surpreendente).
  • Multimodal: imagens, áudio, vídeo input.

Limitações: hallucination (inventar factos), conhecimento desactualizado (cutoff).

Bloco 7 · Prompt engineering

Princípios

  1. Específico vence vago.
  2. Contexto ajuda.
  3. Exemplos (few-shot) > zero-shot.
  4. Estrutura o output.
  5. Step-by-step para tasks complexas.

Bad prompt

Escreve algo sobre IA.

Good prompt

Escreve um artigo de blog de 500 palavras sobre como
LLMs podem ajudar pequenas empresas. Audiência:
empresários sem background técnico. Tom: prático e
optimista. Estrutura: intro + 3 casos de uso + CTA.

Few-shot

Classifica o sentimento como POSITIVO, NEGATIVO ou NEUTRO.

Texto: "Adorei o filme!" → POSITIVO
Texto: "Foi aborrecido" → NEGATIVO
Texto: "Foi normal" → NEUTRO

Texto: "Não voltarei lá" →

Chain-of-thought

Pergunta: Se um carro percorre 60km em 1h, quanto demora
para percorrer 150km à mesma velocidade?

Pensa passo a passo:
1. Velocidade: 60 km/h.
2. Tempo = distância / velocidade.
3. Tempo = 150 / 60 = 2.5 horas.

Resposta: 2 horas e 30 minutos.

Bloco 8 · APIs

OpenAI API

from openai import OpenAI

client = OpenAI(api_key="sk-...")

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "És um assistente útil."},
        {"role": "user", "content": "Capital de Portugal?"}
    ]
)
print(response.choices[0].message.content)

Custo: $0.15 / 1M input tokens (gpt-4o-mini).

Anthropic Claude

import anthropic

client = anthropic.Anthropic(api_key="sk-ant-...")

msg = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explica recursão"}
    ]
)
print(msg.content[0].text)

Custos típicos (2026)

Modelo Input $/1M Output $/1M
GPT-4o-mini $0.15 $0.60
GPT-4o $2.50 $10
Claude Sonnet 4.5 $3 $15
Claude Opus 4.5 $15 $75
Gemini 2 Flash $0.075 $0.30

Mini/Flash models = baratíssimos. Use-os por defeito.

Bloco 9 · RAG e Agents

RAG — Retrieval Augmented Generation

Pergunta → Vector search → Encontrar docs relevantes
                    ↓
                  Prompt (pergunta + docs)
                    ↓
                  LLM gera resposta

Resolve: LLMs não sabem teus dados. RAG = juntar busca + LLM.

Stack: Pinecone/Chroma/Qdrant (vector DB) + OpenAI Embeddings + LLM.

Agents

LLM com tools (capacidade de chamar funções):

def get_weather(city: str) -> str:
    # API real
    return "20°C, sol"

# LLM decide quando chamar:
# User: "Tempo em Lisboa?"
# LLM: get_weather("Lisbon")
# LLM: "Está 20°C em Lisboa, com sol."

Frameworks: Anthropic Claude tools, OpenAI function calling, LangChain, LlamaIndex.

Bloco 10 · Ética e limites

Riscos

  • Bias: modelos perpetuam preconceitos dos dados.
  • Hallucinations: factos errados convincentes.
  • Privacy: dados de utilizadores em prompts.
  • Trabalho: substituição de jobs (writing, support).
  • Desinformação: deepfakes, conteúdo falso.
  • Concentração de poder: poucos labs dominam.

Best practices em produção

  • Sempre validar outputs antes de mostrar.
  • Não confiar para decisões críticas sem human review.
  • Rate limits e cost controls.
  • Logs para debug.
  • Disclaimers ao utilizador (é IA, pode errar).
  • GDPR: cuidado com dados pessoais em prompts.

UC00623 · resumo

  • IA hoje = principalmente LLMs + ML clássico.
  • ML = supervisionado/não-supervisionado/reinforcement.
  • Métricas: accuracy, precision, recall, F1.
  • LLMs = transformers gigantes, generalistas.
  • Prompt engineering = skill chave.
  • APIs OpenAI/Anthropic = produção em horas.
  • RAG = dar dados teus ao LLM.
  • Agents = LLM com tools.
  • Ética: bias, hallucinations, privacy.

NOTAS DO PROFESSOR 📖 A viragem de 2022 O lançamento do ChatGPT marca o momento em que a IA passa de tema de investigação para ferramenta de uso diário. Convém enquadrar os formandos nesta linha temporal para perceberem que muito do que vão aprender é recente e está em rápida evolução. A queda brutal de custos e o aparecimento de modelos open source são o que torna esta tecnologia acessível a qualquer programador hoje. 🗣️ Pontos a desenvolver oralmente • Pedir exemplos de tarefas em que já usaram IA no dia a dia • Contrastar o ritmo de evolução da IA com outras tecnologias mais lentas • Explicar porque a redução de custos democratiza o acesso a programadores

NOTAS DO PROFESSOR 📖 IA é transversal, não um nicho O objectivo deste slide é mostrar que a IA já não é exclusiva da área tech: atravessa conteúdo, saúde, educação e suporte ao cliente. Ajuda os formandos a perceberem que, mesmo que não venham a treinar modelos, vão muito provavelmente integrá-los em produtos. Vale a pena ligar cada exemplo a uma ferramenta concreta que possam experimentar. 🗣️ Pontos a desenvolver oralmente • Mostrar ao vivo uma ferramenta de cada categoria (ex.: Copilot, Perplexity) • Discutir qual destas áreas mais interessa a cada formando • Distinguir entre criar IA e aplicar IA em produtos

NOTAS DO PROFESSOR 📖 Saídas profissionais e perfis Convém clarificar que existem vários perfis com requisitos muito diferentes: um AI Engineer usa APIs e não precisa de saber treinar modelos do zero, ao contrário de um ML Engineer ou Research Scientist. Esta UC prepara sobretudo para o perfil de AI Engineer, que é o mais acessível e procurado. Use os valores salariais com cautela, como ordem de grandeza e não como promessa. 🗣️ Pontos a desenvolver oralmente • Mapear cada perfil ao tipo de competências que exige • Sublinhar que o perfil AI Engineer é o foco realista desta formação • Falar do mercado nacional versus remoto internacional

NOTAS DO PROFESSOR 📖 Narrow AI, AGI e ASI É importante desmistificar expectativas: toda a IA que existe hoje é narrow, ou seja, especializada numa tarefa, mesmo quando parece muito capaz. AGI e ASI são conceitos especulativos e não fazem parte da prática do dia a dia de um programador. Esta distinção ajuda a separar o que é ficção científica do que é trabalho concreto com modelos atuais. 🗣️ Pontos a desenvolver oralmente • Dar exemplos de narrow AI que parecem "inteligentes" mas são especializados • Discutir porque a AGI continua a ser um problema em aberto • Desfazer mitos vindos da comunicação social sobre IA

NOTAS DO PROFESSOR 📖 As várias abordagens à IA Nem toda a IA é deep learning: há sistemas simbólicos baseados em regras que ainda hoje têm o seu lugar, sobretudo quando se exige explicabilidade. A evolução vai dos sistemas peritos ao ML estatístico e daí ao deep learning e aos LLMs. Perceber esta linha ajuda a escolher a ferramenta certa em vez de aplicar deep learning a tudo. 🗣️ Pontos a desenvolver oralmente • Dar um exemplo de sistema baseado em regras ainda em uso • Explicar quando uma abordagem estatística simples chega e sobra • Mostrar que abordagens híbridas combinam o melhor dos dois mundos

NOTAS DO PROFESSOR 📖 Os três grandes tipos de aprendizagem A distinção entre supervisionado, não-supervisionado e por reforço é o alicerce de todo o ML e condiciona o tipo de dados necessário. O supervisionado exige dados rotulados, que são caros de obter; o não-supervisionado procura estrutura em dados sem rótulos. Convém ancorar cada tipo num exemplo prático que os formandos reconheçam, como filtrar spam ou agrupar clientes. 🗣️ Pontos a desenvolver oralmente • Explicar o custo e o esforço de rotular dados no supervisionado • Dar um caso real de clustering aplicado a clientes • Ilustrar o reforço com jogos ou robótica

NOTAS DO PROFESSOR 📖 Algoritmos clássicos ainda contam Antes dos LLMs, estes algoritmos resolviam e continuam a resolver a maioria dos problemas reais de ML, muitas vezes melhor e mais barato. Modelos como árvores de decisão têm a vantagem de serem explicáveis, o que é crucial em contextos regulados. A mensagem-chave é não saltar logo para deep learning quando um modelo simples chega. 🗣️ Pontos a desenvolver oralmente • Sublinhar a explicabilidade das árvores face a redes neuronais • Mostrar que o scikit-learn torna estes algoritmos acessíveis em poucas linhas • Discutir como escolher o algoritmo segundo o problema e os dados

NOTAS DO PROFESSOR 📖 Um pipeline de ML completo em poucas linhas Este exemplo mostra o fluxo típico de um projeto supervisionado: vectorizar texto, dividir em treino e teste, treinar e avaliar. O TfidfVectorizer converte texto em números, porque os modelos não trabalham diretamente com palavras. Vale a pena destacar a separação treino/teste, que será aprofundada nos slides seguintes sobre métricas e overfitting. 🗣️ Pontos a desenvolver oralmente • Explicar o papel da vectorização TF-IDF na conversão de texto • Justificar porque se separa treino de teste antes de treinar • Propor um exercício de variar os dados e observar a accuracy

NOTAS DO PROFESSOR 📖 Para além da accuracy A accuracy sozinha engana, sobretudo em dados desequilibrados: um modelo que prevê sempre "não-spam" pode ter alta accuracy e ser inútil. Precision e recall expõem este problema ao olhar para os falsos positivos e falsos negativos. A matriz de confusão é a ferramenta visual que torna tudo isto concreto, e o F1 resume o equilíbrio entre precision e recall. 🗣️ Pontos a desenvolver oralmente • Dar o exemplo do dataset desequilibrado em que a accuracy engana • Distinguir o custo de um falso positivo do de um falso negativo • Mostrar quando privilegiar recall (ex.: diagnóstico médico)

NOTAS DO PROFESSOR 📖 A disciplina da divisão de dados A separação em treino, validação e teste é uma regra de ouro que protege contra a auto-ilusão sobre a qualidade do modelo. O conjunto de teste deve ficar "lacrado" e só ser usado na avaliação final, nunca para afinar parâmetros. Quebrar esta regra leva a métricas otimistas que não se confirmam em produção. 🗣️ Pontos a desenvolver oralmente • Explicar o papel distinto do conjunto de validação na afinação • Dar o exemplo de inflacionar resultados ao espreitar o teste • Ligar esta disciplina à credibilidade de um modelo em produção

NOTAS DO PROFESSOR 📖 Overfitting, o erro mais comum O overfitting acontece quando o modelo decora os dados de treino em vez de aprender padrões generalizáveis, falhando depois com dados novos. O sinal de alarme é uma accuracy de treino muito superior à de validação. As técnicas listadas — mais dados, regularização, cross-validation, early stopping — são as ferramentas práticas do dia a dia para o combater. 🗣️ Pontos a desenvolver oralmente • Mostrar a curva de treino versus validação a divergir • Explicar intuitivamente o que faz a regularização • Sublinhar que mais dados é muitas vezes a solução mais eficaz

NOTAS DO PROFESSOR 📖 A intuição das redes neuronais Uma rede neuronal é, no fundo, uma composição de operações simples: cada neurónio combina entradas com pesos e aplica uma função de ativação. A aprendizagem consiste em ajustar pesos e bias por backpropagation e gradient descent até reduzir o erro. Não é preciso dominar a matemática, mas sim ter a intuição de que a rede ajusta milhões de parâmetros para encaixar nos dados. 🗣️ Pontos a desenvolver oralmente • Explicar de forma simples o que significa "profundo" numa rede • Dar a intuição de gradient descent como descer uma encosta • Tranquilizar quanto à matemática, focando na intuição

NOTAS DO PROFESSOR 📖 Cada arquitetura para o seu problema Diferentes arquiteturas resolvem diferentes tipos de dados: CNNs dominam imagem, transformers dominam texto e hoje quase tudo, e diffusion gera imagens de alta qualidade. Convém referir que RNNs e LSTMs são hoje legado, substituídos pelos transformers em muitas tarefas. O importante é reconhecer a família certa para cada problema, não memorizar todos os detalhes. 🗣️ Pontos a desenvolver oralmente • Associar cada arquitetura a um caso de uso concreto • Explicar porque os transformers vieram substituir as RNNs • Mostrar exemplos visuais de geração por diffusion

NOTAS DO PROFESSOR 📖 Definir uma rede com PyTorch Este exemplo mostra como definir uma rede simples herdando de nn.Module e implementando o método forward, que descreve o caminho dos dados pela rede. As dimensões 784 e 10 sugerem o clássico problema de reconhecer dígitos manuscritos. Vale destacar que o PyTorch trata automaticamente da backpropagation, libertando o programador para se focar na arquitetura. 🗣️ Pontos a desenvolver oralmente • Explicar o papel do método forward na passagem dos dados • Relacionar 784 com uma imagem de 28x28 pixels achatada • Mencionar a alternativa TensorFlow/Keras como comparação

NOTAS DO PROFESSOR 📖 LLMs preveem o próximo token A ideia central, e surpreendentemente simples, é que um LLM é treinado apenas para prever o próximo token num texto. Dessa tarefa elementar, aplicada a corpus gigantescos, emergem capacidades de linguagem, raciocínio e conhecimento. Perceber o conceito de token é essencial porque é a unidade pela qual se medem contexto e custos das APIs. 🗣️ Pontos a desenvolver oralmente • Demonstrar a tokenização de uma frase num tokenizer online • Explicar como prever tokens gera texto coerente • Ligar a contagem de tokens aos custos e limites de contexto

NOTAS DO PROFESSOR 📖 O panorama dos modelos Existe um ecossistema de modelos com forças distintas: uns brilham em código, outros em contexto longo ou multimodalidade, e os open source dão controlo e privacidade. Convém avisar que esta lista envelhece depressa, dado o ritmo de lançamentos. A competência a desenvolver é saber comparar e escolher modelos, não decorar nomes que mudam todos os meses. 🗣️ Pontos a desenvolver oralmente • Distinguir modelos fechados de open source quanto a controlo e custo • Discutir quando faz sentido correr um modelo localmente • Reforçar que a lista muda rapidamente e há que consultar fontes atuais

NOTAS DO PROFESSOR 📖 Capacidades e limitações dos LLMs Os LLMs são generalistas impressionantes, mas têm limites estruturais que é preciso conhecer: alucinam factos com confiança e têm conhecimento congelado na data de corte do treino. Reconhecer estas limitações é o que separa um uso ingénuo de um uso profissional e seguro. RAG e tools, abordados mais à frente, são respostas concretas a estas fragilidades. 🗣️ Pontos a desenvolver oralmente • Mostrar um exemplo real de alucinação convincente mas falsa • Explicar o conceito de data de corte e as suas implicações • Antecipar como RAG e tools mitigam estas limitações

NOTAS DO PROFESSOR 📖 Princípios de prompt engineering Um bom prompt é uma competência treinável e tem regras claras: ser específico, dar contexto, fornecer exemplos e estruturar o pedido. Estes princípios fazem muitas vezes a diferença entre um resultado inútil e um resultado profissional, com o mesmo modelo. Convém apresentá-los como um checklist que os formandos podem aplicar de imediato. 🗣️ Pontos a desenvolver oralmente • Demonstrar ao vivo a diferença entre um prompt vago e um específico • Explicar quando vale a pena pedir raciocínio passo a passo • Sugerir guardar prompts que funcionam como biblioteca pessoal

NOTAS DO PROFESSOR 📖 O contraste bom versus mau prompt Este lado a lado torna tangível tudo o que foi dito sobre princípios: o bom prompt define audiência, tom, extensão e estrutura. Cada detalhe acrescentado reduz a ambiguidade e aproxima o resultado do esperado. É um exercício excelente para os formandos reescreverem um prompt fraco aplicando estes elementos. 🗣️ Pontos a desenvolver oralmente • Identificar com a turma cada elemento que enriquece o bom prompt • Pedir a cada formando para reescrever o prompt fraco • Testar ambos no mesmo modelo e comparar as respostas

NOTAS DO PROFESSOR 📖 Few-shot: ensinar pelo exemplo A técnica few-shot consiste em mostrar ao modelo alguns exemplos do formato desejado antes do caso real, em vez de o descrever por palavras. É particularmente eficaz em tarefas de classificação e formatação, onde o exemplo vale mais que a explicação. Note-se que o último exemplo fica em aberto, sinalizando ao modelo que deve completá-lo. 🗣️ Pontos a desenvolver oralmente • Explicar a diferença entre zero-shot e few-shot • Mostrar que poucos exemplos bem escolhidos já melhoram muito • Propor que os formandos criem exemplos para outra tarefa

NOTAS DO PROFESSOR 📖 Chain-of-thought: pensar em voz alta Pedir ao modelo que raciocine passo a passo melhora significativamente o desempenho em problemas que exigem várias etapas, como cálculos ou lógica. Ao explicitar o raciocínio, o modelo reduz erros que cometeria se respondesse de imediato. É uma técnica simples de aplicar e dos truques de prompt com maior retorno. 🗣️ Pontos a desenvolver oralmente • Comparar a resposta direta com a resposta passo a passo no mesmo problema • Explicar porque explicitar etapas reduz erros de raciocínio • Indicar em que tarefas esta técnica compensa mais

NOTAS DO PROFESSOR 📖 Chamar a API da OpenAI Este exemplo mostra o padrão fundamental de qualquer chamada a um LLM via API: criar um cliente com a chave, definir mensagens com papéis (system e user) e ler a resposta. A mensagem de sistema define o comportamento do assistente, enquanto a de utilizador traz o pedido. Convém alertar para nunca colocar a chave da API diretamente no código nem em repositórios públicos. 🗣️ Pontos a desenvolver oralmente • Explicar a diferença entre mensagem de sistema e de utilizador • Alertar para guardar a chave em variáveis de ambiente • Mostrar onde obter a chave e como controlar gastos

NOTAS DO PROFESSOR 📖 A API da Anthropic (Claude) O padrão é muito semelhante ao da OpenAI: instanciar o cliente com a chave, chamar messages.create com modelo, limite de tokens e a lista de mensagens, e ler o texto da resposta. Convém destacar a presença de max_tokens, que limita o tamanho da resposta e tem impacto direto no custo. Vale a pena experimentar o mesmo pedido nas duas APIs para os formandos notarem que a lógica é transferível entre fornecedores. 🗣️ Pontos a desenvolver oralmente • Comparar a estrutura desta chamada com a da OpenAI no slide anterior • Explicar o papel de max_tokens no controlo de custo e tamanho • Reforçar a boa prática de nunca expor a chave da API

NOTAS DO PROFESSOR 📖 Pensar em custo por token Trabalhar com LLMs em produção exige perceber a estrutura de preços: paga-se por milhão de tokens, com input mais barato que output, e há ordens de grandeza de diferença entre modelos. A regra prática é começar pelo modelo mais barato que resolva a tarefa e só subir de gama quando justificável. Estes valores envelhecem depressa, por isso o importante é o raciocínio de otimização, não os números exatos. 🗣️ Pontos a desenvolver oralmente • Fazer uma estimativa de custo de uma aplicação real com a turma • Explicar porque o output costuma custar mais que o input • Sublinhar a estratégia de escolher o modelo mais barato suficiente

NOTAS DO PROFESSOR 📖 RAG: dar dados próprios ao LLM O RAG resolve um problema central: os LLMs não conhecem os dados específicos da nossa organização e têm conhecimento desatualizado. A solução é, perante uma pergunta, procurar primeiro os documentos relevantes numa base vetorial e juntá-los ao prompt antes de gerar a resposta. Os embeddings convertem texto em vetores que permitem encontrar conteúdo por semelhança de significado, não apenas por palavras iguais. 🗣️ Pontos a desenvolver oralmente • Explicar o que é um embedding e a busca por semelhança semântica • Dar o exemplo de um chatbot que responde sobre documentos internos • Distinguir RAG de re-treinar ou afinar o modelo

NOTAS DO PROFESSOR 📖 Agents: LLMs que usam ferramentas Um agent é um LLM ao qual se dá a capacidade de chamar funções (tools) para agir no mundo: consultar uma API, ler uma base de dados, executar código. O modelo decide quando e que ferramenta usar com base no pedido, e o nosso código executa-a e devolve o resultado. É este padrão que transforma um chatbot passivo num sistema capaz de realizar tarefas reais. 🗣️ Pontos a desenvolver oralmente • Acompanhar o fluxo do exemplo: pergunta, decisão, chamada, resposta • Dar exemplos de ferramentas úteis (meteorologia, calendário, pesquisa) • Alertar para validar sempre o que o agent decide executar

NOTAS DO PROFESSOR 📖 Os riscos reais da IA Um profissional de IA responsável conhece os riscos da tecnologia que usa: viés herdado dos dados, alucinações convincentes, fugas de privacidade e impacto no emprego. Não se trata de alarmismo, mas de consciência crítica para construir sistemas mais seguros e justos. Convém ligar cada risco a um caso concreto que tenha aparecido nas notícias. 🗣️ Pontos a desenvolver oralmente • Dar um exemplo real de viés algorítmico documentado • Discutir o risco de privacidade ao enviar dados pessoais em prompts • Debater de forma equilibrada o impacto da IA no emprego

NOTAS DO PROFESSOR 📖 Pôr IA em produção com responsabilidade Levar IA para produção exige disciplina: validar sempre os outputs, manter revisão humana em decisões críticas e proteger contra custos descontrolados. O RGPD obriga a especial cuidado com dados pessoais que possam ir parar aos prompts. Estas práticas distinguem um protótipo de brincadeira de um sistema profissional e confiável. 🗣️ Pontos a desenvolver oralmente • Explicar porque nunca se deve confiar cegamente num output de IA • Mostrar a importância de logs e limites de custo em produção • Ligar o uso de IA às obrigações do RGPD sobre dados pessoais

NOTAS DO PROFESSOR 📖 Síntese do percurso em IA Este resumo fecha o arco da UC: do panorama atual ao ML clássico, dos LLMs ao prompt engineering, e das APIs ao RAG e aos agents. A mensagem central é que hoje se constroem aplicações de IA em horas usando APIs, sem treinar modelos do zero. Convém reforçar que prompt engineering e consciência ética são as competências que acompanham qualquer um destes temas. 🗣️ Pontos a desenvolver oralmente • Pedir aos formandos para identificarem o tema que mais querem aprofundar • Sugerir um pequeno projeto que combine API, RAG e um agent • Relembrar que a ética atravessa todas as etapas do trabalho com IA