Neste tutorial, construímos um agente de planejamento hierárquico usando um modelo instruct de código aberto. Projetamos uma arquitetura multiagente estruturada composta por um agente de planejamento, um agente executor e um agente agregador, onde cada componente desempenha um papel especializado na resolução de tarefas complexas. Usamos o agente de planejamento para decompor metas de alto nível em etapas acionáveis, o agente executor para executar essas etapas usando raciocínio ou execução de ferramenta Python, e o agente agregador para sintetizar os resultados em uma resposta final coerente. Ao integrar o uso de ferramentas, planejamento estruturado e execução iterativa, criamos um sistema de agente totalmente autônomo que demonstra como os agentes de IA modernos raciocinam, planejam e agem de maneira escalável e modular. Copiar Código Copiado Use um navegador diferente!pip -q install -U transformers accelerate bitsandbytes sentencepiece import json import re import io import contextlib from dataclasses import dataclass from typing import Any, Dict, List, Optional import torch from transformers import AutoTokenizer, AutoModelForCausalLM MODEL_ID = "Qwen/Qwen2.5-1.5B-Instruct" DEVICE = "cuda" if torch.cuda.is_available() else "cpu" print("Device:", DEVICE) tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, use_fast=True) model = None if DEVICE == "cuda": try: model = AutoModelForCausalLM.from_pretrained( MODEL_ID, device_map="auto", torch_dtype="auto", load_in_4bit=True, ) print("Loaded model in 4-bit.") except Exception as e: print("4-bit load failed, falling back to normal load:", str(e)[:200]) model = AutoModelForCausalLM.from_pretrained( MODEL_ID, device_map="auto", torch_dtype="auto", ) else: model = AutoModelForCausalLM.from_pretrained( MODEL_ID, torch_dtype=torch.float32, ).to(DEVICE) model.eval() Instalamos as bibliotecas necessárias e importamos todos os módulos necessários para construir nosso sistema de agente hierárquico. Carregamos o modelo instruct Qwen de código aberto e o configuramos para ser executado eficientemente em uma GPU usando quantização de 4 bits quando disponível. Inicializamos o tokenizador e o modelo, garantindo que nosso agente tenha a compreensão da linguagem e as capacidades de raciocínio necessárias para planejar e executar tarefas. Copiar Código Copiado Use um navegador diferente def llm_chat(system: str, user: str, max_new_tokens: int = 500, temperature: float = 0.3) -> str: messages = [ {"role": "system", "content": system.strip()}, {"role": "user", "content": user.strip()}, ] prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) in
Fonte: MarkTechPost
Publicado em 2026-02-28