Introdução ao RAG Agente

Agentes de IA com Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

RAG Agente: Recuperação Iterativa + Raciocínio

Agentes de IA com Hugging Face smolagents

Ferramentas Sem Estado vs. Com Estado em smolagents

Ferramentas de Função (@tool decorator)

  • Sem estado: sem memória entre chamadas
  • Não lembra seu armazenamento de vetores entre chamadas

Ferramentas Baseadas em Classe (Tool subclass)

  • Com estado: mantém referências entre chamadas
  • Armazena objetos complexos
Agentes de IA com Hugging Face smolagents

A Anatomia de uma Ferramenta Baseada em Classe

from smolagents import Tool

class ToolName(Tool):
    name = "tool_name"

description = "Descrição clara para o agente"
inputs = { "parameter_name": {"type": "parameter_type", "description": "Propósito do parâmetro"} } output_type = "string"
def __init__(self, custom_parameters): super().__init__() self.custom_attribute = custom_parameters
def forward(self, parameter_name): # O agente chama este método return "processed output"
Agentes de IA com Hugging Face smolagents

Construir uma Ferramenta de Busca de Receitas

class RecipeSearchTool(Tool):
    name = "recipe_search" 
    description = "Busca documentação de culinária para receitas, técnicas e informações de planejamento de refeições"
    inputs = {
        "query": {"type": "string", "description": "Consulta de culinária em linguagem natural"}
    }
    output_type = "string"

def __init__(self, vectorstore, k=6): super().__init__() self.vectorstore = vectorstore self.k = k
def forward(self, query): docs = self.vectorstore.similarity_search(query, k=self.k) return "\n\n".join(doc.page_content for doc in docs) or "Nada encontrado."
Agentes de IA com Hugging Face smolagents

Agente Assistente de Cozinha: Juntando Tudo

# Inicializar a ferramenta de busca
recipe_search = RecipeSearchTool(vector_store)

agent = CodeAgent(
    tools=[recipe_search],
    model=model,
    instructions="Procure minuciosamente para fornecer respostas completas de receitas. 
      Se os resultados iniciais parecerem incompletos, tente termos de busca diferentes.",
    verbosity_level=1,
    max_steps=8
)
Agentes de IA com Hugging Face smolagents

Exemplo de Execução do Agente

Consulta: Como cozinhar salmão com ervas usando técnicas profissionais?

[Passo 1] Pesquisar "técnicas de cozimento de salmão com ervas"...

[Passo 2] Pesquisar "preparação profissional de salmão"...

[Resposta Final]

"Seque os filés, tempere com ervas e:

  • Grelhe com a pele para baixo, regando com manteiga, alho, tomilho
  • Ou asse a 200°C com manteiga de ervas e limão por 10 a 12 min"
Agentes de IA com Hugging Face smolagents

Vamos praticar!

Agentes de IA com Hugging Face smolagents

Preparing Video For Download...