Validação da Resposta Final do Agente

Agentes de IA com Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Por Que a Validação é Importante

  • Resposta do agente não foi útil
  • Experiência do cliente foi perdida

Para evitar isso, smolagents permite validar respostas finais!

Agentes de IA com Hugging Face smolagents

Validando Respostas do Agente

def check_answer_length(final_answer, agent_memory):
    # Verifica se a resposta é substancial
    if len(final_answer) < 200:
        raise Exception("Recomendação de carro muito breve")
    return True
  • Se final_answer falhar na regra, levanta uma exceção. Caso contrário, retorna True.
Agentes de IA com Hugging Face smolagents

Usando Validação de Saída no Seu Agente

car_advisor = CodeAgent(
    tools=[WebSearchTool()],
    model=InferenceClientModel(),
    final_answer_checks=[check_answer_length],
    verbosity_level=0
)
  • Executa check_answer_length antes de responder.
  • Tenta novamente com base na mensagem de exceção definida na função.
Agentes de IA com Hugging Face smolagents

Meta-Avaliação: Usando IA para Validar IA

validation_prompt = """
Processo de raciocínio: {}

Resposta final do agente: {}

A resposta final segue logicamente
do raciocínio e resolve a questão do usuário? 
Responda apenas TRUE ou FALSE. 

Nenhum outro texto.
"""
Agentes de IA com Hugging Face smolagents

Validando Raciocínio com um Meta-Avaliador

def check_reasoning_accuracy(final_answer, agent_memory):
    evaluator_model = InferenceClientModel()
    reasoning_steps = agent_memory.get_succinct_steps()
    final_prompt = validation_prompt.format(reasoning_steps, final_answer)

    message = ChatMessage(role='user', content=final_prompt)
    evaluation = evaluator_model([message])

    if evaluation.content == "FALSE":
        raise Exception("O processo de raciocínio do agente contém erros lógicos")
    else:
        return True
Agentes de IA com Hugging Face smolagents

Combinando Múltiplas Validações

car_advisor = CodeAgent(
    tools=[WebSearchTool()],
    model=InferenceClientModel(),
    final_answer_checks=[check_answer_length, check_reasoning_accuracy],
    verbosity_level=0
)

Mais chances de detectar e corrigir erros antes que o usuário os veja!

Agentes de IA com Hugging Face smolagents

Desenvolvendo Sistemas Inteligentes

Agentes de IA com Hugging Face smolagents

Vamos praticar!

Agentes de IA com Hugging Face smolagents

Preparing Video For Download...