Pular para o conteúdo

Verificando a instalação

Você instalou quatro coisas: Python, ambiente virtual, bibliotecas e o Ollama com um modelo. Cada uma delas funcionando isoladamente não garante que conversam entre si — e é justamente aí que aparecem os problemas.

Vamos verificar tudo de uma vez, antes da primeira aula prática.

Passo 1: conferências rápidas

Com o ambiente virtual ativo (o cursor mostrando (.venv)), rode um comando de cada vez:

python --version

Esperado: Python 3.12.x.

(Get-Command python).Source

Esperado: um caminho que termina em \.venv\Scripts\python.exe. Se apontar para outro lugar, o ambiente virtual não está ativo — e tudo o que você instalou foi parar no lugar errado.

curl http://127.0.0.1:11434/api/version

Esperado: um JSON como {"version":"0.33.2"}.

ollama list

Esperado: uma linha com qwen2:7b.

Passo 2: o teste que importa

As conferências acima checam as peças. Este script checa o conjunto — inclusive uma pergunta de verdade ao modelo, pelo mesmo caminho que os agentes da Unidade 1 vão usar.

Copie o arquivo verificar_ambiente.py (distribuído junto com esta apostila) para a sua pasta agentes e rode:

python verificar_ambiente.py

O script confere, nesta ordem:

  1. A versão do Python.
  2. Se o ambiente virtual está de fato ativo.
  3. Se smolagents e litellm estão instalados.
  4. Se o SDK do mcp está na versão certa — a 1.x. Só é usado na Unidade 3.
  5. Se o servidor do Ollama responde.
  6. Se o modelo qwen2:7b foi baixado.
  7. Se o modelo responde a uma pergunta real via LiteLLMModel.

Ele para na primeira falha e explica o que fazer. Saída esperada quando está tudo certo:

Verificando o ambiente do curso...

[ OK ] Python 3.12.10
[ OK ] Ambiente virtual ativo em C:\Users\seu.nome\agentes\.venv
[ OK ] smolagents 1.26.0 e litellm instalados
[ OK ] mcp 1.29.1 (1.x, como o curso exige)
[ OK ] Servidor Ollama respondendo (versão 0.33.2)
[ OK ] Modelo qwen2:7b disponível

   Enviando uma pergunta ao modelo (a primeira demora — ele está carregando)...
[ OK ] O modelo respondeu: 'funcionando'

Tudo pronto. Você pode começar a Unidade 1.
Nota

A linha do mcp é a única que aceita ausência. Se você pulou esse pacote na instalação, ela aparece assim, e o script segue:

[ -- ] mcp não instalado (só é preciso na Unidade 3)

O que não passa é o mcp instalado na versão 2.x, que quebra o cliente do smolagents lá na Unidade 3 com uma mensagem que não fala em versão nenhuma. Aí o script para:

[FALHA] mcp 2.1.1 é incompatível com o mcpadapt, que o smolagents usa.

   Como resolver: Rode: pip install "mcp<2" (com aspas — sem elas o PowerShell lê o '<' como redirecionamento).
Nota

O passo 6 pode levar de 10 a 60 segundos na primeira execução — o modelo está sendo carregado do disco para a memória. Não é travamento. Se passar de 2 minutos, veja problemas comuns.

Se aparecer [FALHA] em algum ponto, leia a linha "Como resolver" logo abaixo e consulte a seção de problemas comuns.

Passo 3: entendendo a ponte entre as peças

Vale entender o que o passo 6 do script fez, porque é o mecanismo central do curso inteiro.

from smolagents import LiteLLMModel

modelo = LiteLLMModel(
    model_id="ollama_chat/qwen2:7b",
    api_base="http://127.0.0.1:11434",
    num_ctx=8192,
)

Cada parâmetro:

Por que essa troca funciona sem mudar mais nada

O curso original usa InferenceClientModel, que fala com os servidores da Hugging Face. Nós usamos LiteLLMModel apontado para o Ollama. Só isso muda. Todo o resto do código de Agents — Tools, prompts, o ciclo de raciocínio — permanece idêntico.

Isso é possível porque o Ollama expõe uma API no mesmo formato da API da OpenAI, que virou o padrão de fato do setor. O smolagents não precisa saber onde o modelo está rodando; ele só precisa de um objeto que saiba receber mensagens e devolver respostas.

Guarde esse desenho — ele é o motivo de você conseguir trocar o modelo depois sem reescrever seus agentes.

Checklist final

Antes de seguir para a Unidade 1, confirme:

powershell cd C:\Users\$env:USERNAME\agentes .\.venv\Scripts\Activate.ps1


Ambiente pronto. A partir daqui é conteúdo: Unidade 1 — Introdução aos Agentes.