Criando um Agente com Ferramentas

Agentes de IA com Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Criando um Agente de Código (Sem Ferramentas)

from smolagents import CodeAgent, InferenceClientModel

agent = CodeAgent(
    tools=[],
    model=InferenceClientModel()
)

agent.run("Calcule a média da lista [23, 45, 67, 89]")
Executando código:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Resposta final: 56.0
[Passo 1: Duração 4.14 segundos| Tokens de entrada: 1,900 | Tokens de saída: 109]
56.0
Agentes de IA com Hugging Face smolagents

Por que Usar Ferramentas com Agentes de Código?

O agente que definimos já pode resolver muitas tarefas usando:

  • Um modelo LLM
  • Código Python

Mas ele também pode precisar de acesso a informações externas:

  • Exemplo: dados da web em tempo real

É aí que entram as ferramentas!

Agentes de IA com Hugging Face smolagents

Adicionando uma Ferramenta de Busca na Web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
Agentes de IA com Hugging Face smolagents

Agente de Código com Saída de Busca na Web

agent.run("Qual é o prédio mais alto do mundo atualmente?")
Executando código:
  tallest_building_info = web_search("prédio mais alto do mundo 2023")                                
  print(tallest_building_info)                                                                                

# Resultados da busca omitidos para brevidade...

Executando código: 
  final_answer("Burj Khalifa, Dubai, 828 metros")                                                              
Resposta final: Burj Khalifa, Dubai, 828 metros
[Passo 2: Duração 2.97 segundos| Tokens de entrada: 5,078 | Tokens de saída: 153]
Burj Khalifa, Dubai, 828 metros
Agentes de IA com Hugging Face smolagents

Ferramentas Integradas (por Categoria)

Categoria Ferramentas
Recuperação de Informação ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Interação com a Web VisitWebpageTool
Execução de Código PythonInterpreterTool
Interação com Usuário UserInputTool
Processamento de Fala SpeechToTextTool
Controle de Fluxo FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
Agentes de IA com Hugging Face smolagents

Ferramentas do Hugging Face Hub

Agentes de IA com Hugging Face smolagents

Usando Ferramentas da Comunidade do Hugging Face

from smolagents import load_tool

# Carregar ferramenta remota do Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Criar agente com ferramentas remotas + integradas
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Encontre o modelo de classificação de imagem mais baixado no Hugging Face")
google/vit-base-patch16-224-in21k
Agentes de IA com Hugging Face smolagents

Vamos praticar!

Agentes de IA com Hugging Face smolagents

Preparing Video For Download...