Esta lição abordará como executar os exemplos de código deste curso.
Antes de começar a clonar seu repositório, junte-se ao canal do Discord AI Agents For Beginners para obter ajuda com a configuração, esclarecer dúvidas sobre o curso ou conectar-se com outros alunos.
Para começar, por favor clone ou faça um fork do repositório do GitHub. Isso criará sua própria versão do material do curso para que você possa executar, testar e ajustar o código!
Isso pode ser feito clicando no link para fazer fork do repositório
Agora você deve ter sua própria versão forked deste curso no link a seguir:

O repositório completo pode ser grande (~3 GB) ao fazer download do histórico completo e de todos os arquivos. Se você estiver participando apenas do workshop ou precisar apenas de algumas pastas de lições, uma clonagem superficial (ou clonagem esparsa) faz o download de muito menos.
Substitua <your-username> nos comandos abaixo pela URL do seu fork (ou pela URL upstream, se preferir).
Para clonar apenas o histórico do último commit (download pequeno):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
Para clonar um branch específico:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
Isso usa clonagem parcial e sparse-checkout (requer Git 2.25+ e é recomendada uma versão moderna do Git com suporte à clonagem parcial):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
Acesse a pasta do repositório:
cd ai-agents-for-beginners
Depois especifique quais pastas deseja (exemplo abaixo mostra duas pastas):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
Após clonar e verificar os arquivos, se você precisar apenas dos arquivos e quiser liberar espaço (sem histórico git), por favor delete os metadados do repositório (💀irreversível — você perderá toda funcionalidade do Git):
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
Crie um novo Codespace para este repositório via a interface do GitHub.
Este curso oferece uma série de Jupyter Notebooks que você pode executar para obter experiência prática na construção de Agentes de IA.
Os exemplos de código usam Microsoft Agent Framework (MAF) com o FoundryChatClient, que se conecta ao Microsoft Foundry Agent Service V2 (a API de Respostas) através do Microsoft Foundry.
Todos os notebooks Python estão rotulados como *-python-agent-framework.ipynb.
NOTA: Se você não tem Python3.12 instalado, certifique-se de instalá-lo. Depois crie seu ambiente virtual usando python3.12 para garantir que as versões corretas sejam instaladas a partir do arquivo requirements.txt.
Exemplo
Crie o diretório do ambiente virtual Python:
python -m venv venv
Então ative o ambiente virtual para:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: Para os códigos de exemplo que usam .NET, garanta que você instalou o .NET 10 SDK ou superior. Depois, verifique a versão do SDK instalado:
dotnet --list-sdks
gpt-5-mini). Veja Passo 1 abaixo.Incluímos um arquivo requirements.txt na raiz deste repositório que contém todos os pacotes Python necessários para executar os exemplos de código.
Você pode instalá-los executando o seguinte comando no seu terminal na raiz do repositório:
pip install -r requirements.txt
Recomendamos criar um ambiente virtual Python para evitar conflitos e problemas.
Certifique-se de que está usando a versão correta do Python no VSCode.
Você precisa de um hub e projeto Microsoft Foundry com um modelo implantado para executar os notebooks.
gpt-5-mini) em Models + Endpoints → Deploy model.Do seu projeto no portal Microsoft Foundry:

gpt-5-mini).az loginA maioria dos notebooks autentica por meio do seu login CLI do Azure — usando AzureCliCredential ou DefaultAzureCredential (ambos pegam a sessão az login) do pacote azure-identity — então eles não requerem chaves de API. Algumas lições e integrações opcionais usam chaves de API; verifique os pré-requisitos de cada lição para quaisquer variáveis de ambiente adicionais. Isso exige que você esteja conectado via Azure CLI.
Instale a Azure CLI se ainda não fez isso: aka.ms/installazurecli
Faça login executando:
az login
Ou, se você estiver em um ambiente remoto/Codespace sem navegador:
az login --use-device-code
Selecione sua assinatura se solicitado — escolha aquela que contém seu projeto Foundry.
Verifique se está conectado:
az account show
Por que
az login? Os notebooks autentican usandoAzureCliCredential(ouDefaultAzureCredential, que também reconhece seu login Azure CLI) do pacoteazure-identity. Isso significa que sua sessão Azure CLI fornece as credenciais — sem chaves API ou segredos em seu arquivo.env. Essa é uma melhor prática de segurança.
.envCopie o arquivo de exemplo:
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
Abra .env e preencha esses dois valores:
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<your-project-id>
AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-5-mini
| Variável | Onde encontrar |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
Portal Foundry → seu projeto → página Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Portal Foundry → Models + Endpoints → nome do seu modelo implantado |
Isso é tudo para a maioria das lições! Os notebooks irão autenticar automaticamente através da sua sessão az login.
pip install -r requirements.txt
Recomendamos executar isso dentro do ambiente virtual que você criou anteriormente.
Os notebooks da Lições 5 (Agentic RAG) e 16 funcionam imediatamente com uma base de conhecimento em memória — sem recursos Azure extras necessários. Se desejar integrá-los com um índice real do Azure AI Search, note que o notebook da Lição 16 atualmente usa autenticação baseada em chave: ele muda da busca em memória para Azure AI Search apenas quando ambos AZURE_SEARCH_SERVICE_ENDPOINT e AZURE_SEARCH_API_KEY estão configurados, caso contrário permanece usando busca em memória — então para usá-lo com um índice real você deve definir também a chave administrativa. A autenticação sem chave com Microsoft Entra ID (RBAC) é a abordagem recomendada para seu próprio código de produção, consistente com o fluxo az login usado em todo o curso.
Os passos RBAC abaixo aplicam-se aos exemplos do guia de configuração e ao seu próprio código. Eles não habilitam autenticação sem chave no notebook da Lição 16; esta ainda exige ambos endpoint e chave administrativa para usar Azure AI Search.
Habilite acesso baseado em função no seu serviço de busca:
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
Atribua a si mesmo as funções necessárias (criar/carregar índices e consultar):
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
Adicione o endpoint ao seu arquivo .env:
| Variável | Onde encontrar |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
Portal Azure → seu recurso Azure AI Search → Overview → URL |
AZURE_SEARCH_API_KEY |
Necessário (juntamente com o endpoint) para habilitar Azure AI Search na Lição 16, que usa autenticação por chave. Portal Azure → Configurações → Chaves → chave administrativa primária |
Por que sem chave? Chaves administrativas concedem acesso completo ao serviço de busca e podem vazar via arquivos
.env. Com RBAC, sua identidadeaz loginé usada, o mesmo padrão sem chave Entra ID utilizado pelos notebooks do curso (viaAzureCliCredential/DefaultAzureCredential). Veja Conectar ao Azure AI Search usando funções.
Veja o guia de configuração Azure AI Search para exemplos completos de criação de índices em Python e .NET.
Alguns notebooks nas lições 6 e 8 chamam Azure OpenAI diretamente (usando a Responses API) ao invés de passar por um projeto Microsoft Foundry. Estes exemplos usavam anteriormente Modelos GitHub, que estão obsoletos e não suportam a Responses API. Adicione estas variáveis ao seu arquivo .env:
| Variável | Onde encontrar |
|---|---|
AZURE_OPENAI_ENDPOINT |
Portal Azure → seu recurso Azure OpenAI → Chaves e Endpoint → Endpoint (ex. https://<your-resource>.openai.azure.com) |
AZURE_OPENAI_DEPLOYMENT |
Nome do seu modelo implantado (ex. gpt-5-mini) que suporta a Responses API |
AZURE_OPENAI_API_KEY |
Opcional — somente se usar autenticação por chave em vez de az login / Entra ID |
A Responses API usa o endpoint estável
/openai/v1/, então não é necessárioapi-version. Faça login comaz loginpara usar autenticação sem chave Entra ID.
MiniMax fornece modelos de contexto grande (até 204K tokens) por meio de uma API compatível com OpenAI. Como o OpenAIChatClient do Microsoft Agent Framework funciona com qualquer endpoint compatível com OpenAI, você pode usar o MiniMax como uma alternativa direta para as lições que utilizam OpenAIChatClient.
Adicione estas variáveis em seu arquivo .env:
| Variável | Onde encontrar |
|---|---|
MINIMAX_API_KEY |
MiniMax Platform → Chaves de API |
MINIMAX_BASE_URL |
Use https://api.minimax.io/v1 (valor padrão) |
MINIMAX_MODEL_ID |
Nome do modelo para usar (ex., MiniMax-M3) |
Modelos exemplo: MiniMax-M3 (recomendado), MiniMax-M2.7, MiniMax-M2.7-highspeed (respostas mais rápidas). Os nomes e disponibilidade dos modelos podem mudar com o tempo, e o acesso a um determinado modelo pode depender da sua conta.
Os exemplos de código que usam OpenAIChatClient (ex., fluxo da lição 14 para reserva de hotel) detectarão automaticamente e usarão sua configuração MiniMax quando MINIMAX_API_KEY estiver definida.
Novita AI oferece uma API compatível com OpenAI para LLMs open-source e de ponta (DeepSeek, Llama, Qwen e mais). Como o OpenAIChatClient do Microsoft Agent Framework funciona com qualquer endpoint compatível com OpenAI, você pode usar o Novita AI como uma alternativa direta ao Azure OpenAI ou OpenAI.
Adicione essas variáveis ao seu arquivo .env:
| Variável | Onde encontrá-la |
|---|---|
NOVITA_API_KEY |
Novita AI Dashboard → Chaves da API |
NOVITA_BASE_URL |
Use https://api.novita.ai/openai/v1 (valor padrão) |
NOVITA_MODEL_ID |
Nome do modelo a ser usado (ex: moonshotai/kimi-k3) |
Modelos de exemplo: moonshotai/kimi-k3, zai-org/glm-5.2, deepseek/deepseek-v4-flash-0731. Novita AI também hospeda muitas outras famílias de modelos open-source (Llama, Qwen, GLM e mais) — confira a biblioteca de modelos Novita AI para a lista atual de modelos disponíveis e seus IDs.
As amostras atuais não consomem automaticamente as variáveis NOVITA_*. Para usar Novita AI, passe esses valores explicitamente ao construir o OpenAIChatClient na amostra que estiver executando.
Foundry Local é um runtime leve que baixa, gerencia e oferece modelos de linguagem inteiramente na sua própria máquina através de uma API compatível com OpenAI — sem necessidade de nuvem.
Como o OpenAIChatClient do Microsoft Agent Framework funciona com qualquer endpoint compatível com OpenAI, o Foundry Local é uma alternativa local direta ao Azure OpenAI.
1. Instale o Foundry Local
# Windows
winget install Microsoft.FoundryLocal
# macOS
brew install foundrylocal
2. Baixe e execute um modelo (isso também inicia o serviço local):
foundry model list # ver modelos disponíveis
foundry model run phi-4-mini
3. Instale o SDK Python usado para descobrir o endpoint local:
pip install foundry-local-sdk
4. Aponte o Microsoft Agent Framework para seu modelo local:
from foundry_local import FoundryLocalManager
from agent_framework.openai import OpenAIChatClient
# Baixa (se necessário) e serve o modelo localmente, então descobre o endpoint/porta.
manager = FoundryLocalManager("phi-4-mini")
chat_client = OpenAIChatClient(
base_url=manager.endpoint, # por exemplo http://localhost:<porta>/v1
api_key=manager.api_key, # sempre "not-required" para Foundry Local
model_id=manager.get_model_info("phi-4-mini").id,
)
agent = chat_client.as_agent(
name="LocalAgent",
instructions="You are a helpful assistant running fully on-device.",
)
Nota: Foundry Local expõe um endpoint de Chat Completions compatível com OpenAI. Use-o para desenvolvimento local e cenários offline. Para o conjunto completo de recursos da API de Respostas (conversas com estado, etc.), use Azure OpenAI ou um projeto Microsoft Foundry.
O notebook do fluxo condicional da aula 8 usa grounding do Bing via Microsoft Foundry. Se planeja executar essa amostra, adicione esta variável ao seu arquivo .env:
| Variável | Onde encontrá-la |
|---|---|
BING_CONNECTION_ID |
Portal Microsoft Foundry → seu projeto → Management → Connected resources → sua conexão Bing → copie o ID da conexão |
Se você estiver no macOS e encontrar um erro como:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
Este é um problema conhecido com Python no macOS onde os certificados SSL do sistema não são confiados automaticamente. Tente as seguintes soluções na ordem:
Opção 1: Execute o script Install Certificates do Python (recomendado)
# Substitua 3.XX pela versão do Python instalada (por exemplo, 3.12 ou 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command
Opção 2: Use connection_verify=False no seu notebook (apenas para notebooks GitHub Models)
No notebook da Aula 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb), uma solução alternativa comentada já está incluída. Descomente connection_verify=False quando encontrar erros de certificado:
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # Desative a verificação SSL se você encontrar erros de certificado
)
⚠️ Aviso: Desativar a verificação SSL (
connection_verify=False) reduz a segurança ao pular a validação do certificado. Use isso apenas como solução temporária em ambientes de desenvolvimento. Nunca use em produção.
Opção 3: Instale e use truststore
pip install truststore
Em seguida, adicione o seguinte no início do seu notebook ou script antes de fazer qualquer chamada de rede:
import truststore
truststore.inject_into_ssl()
Se você tiver qualquer problema ao executar esta configuração, entre em nosso Discord da Comunidade Azure AI ou crie uma issue.
Agora você está pronto para executar o código deste curso. Feliz aprendizado sobre o mundo dos Agentes de IA!
Introdução a Agentes de IA e Casos de Uso de Agentes
Aviso Legal: Este documento foi traduzido usando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos pela precisão, por favor, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.