Proteção contra Alucinações
Visão Geral
Seção intitulada “Visão Geral”A Proteção contra Alucinações é um recurso empresarial que valida o conteúdo gerado por IA para garantir que esteja fundamentado em fatos e não contenha alucinações. Ela analisa as saídas das tarefas em relação ao contexto de referência e fornece feedback detalhado quando é detectado conteúdo potencialmente alucinado.
O que são Alucinações?
Seção intitulada “O que são Alucinações?”Alucinações em IA ocorrem quando modelos de linguagem geram conteúdos que parecem plausíveis, mas estão factualmente incorretos ou não são suportados pelo contexto fornecido. A Proteção contra Alucinações ajuda a prevenir esses problemas por meio de:
- Comparação das saídas com o contexto de referência
- Avaliação da fidelidade ao material de origem
- Fornecimento de feedback detalhado sobre conteúdo problemático
- Suporte a limiares personalizados para rigor da validação
Uso Básico
Seção intitulada “Uso Básico”Configurando a Proteção
Seção intitulada “Configurando a Proteção”from crewai.tasks.hallucination_guardrail import HallucinationGuardrailfrom crewai import LLM
# Uso básico - utiliza o expected_output da tarefa como contextoprotecao = HallucinationGuardrail( llm=LLM(model="gpt-4o-mini"))
# Com contexto de referência explícitoprotecao_com_contexto = HallucinationGuardrail( context="IA ajuda em várias tarefas, incluindo análise e geração.", llm=LLM(model="gpt-4o-mini"))Adicionando às Tarefas
Seção intitulada “Adicionando às Tarefas”from crewai import Task
# Crie sua tarefa com a proteçãominha_tarefa = Task( description="Escreva um resumo sobre as capacidades da IA", expected_output="Um resumo factual baseado no contexto fornecido", agent=meu_agente, guardrail=protecao # Adiciona a proteção para validar a saída)Configuração Avançada
Seção intitulada “Configuração Avançada”Validação com Limiar Personalizado
Seção intitulada “Validação com Limiar Personalizado”Para validação mais rigorosa, é possível definir um limiar de fidelidade personalizado (escala de 0-10):
# Proteção rigorosa exigindo alta pontuação de fidelidadeprotecao_rigorosa = HallucinationGuardrail( context="Computação quântica utiliza qubits que existem em estados de superposição.", llm=LLM(model="gpt-4o-mini"), threshold=8.0 # Requer pontuação >= 8 para validar)Incluindo Contexto da Resposta de Ferramentas
Seção intitulada “Incluindo Contexto da Resposta de Ferramentas”Se sua tarefa utiliza ferramentas, você pode incluir as respostas das ferramentas para validação mais precisa:
# Proteção com contexto de resposta da ferramentaprotecao_clima = HallucinationGuardrail( context="Informações meteorológicas atuais para o local solicitado", llm=LLM(model="gpt-4o-mini"), tool_response="API do Clima retornou: Temperatura 22°C, Umidade 65%, Céu limpo")Como Funciona
Seção intitulada “Como Funciona”Processo de Validação
Seção intitulada “Processo de Validação”- Análise de Contexto: A proteção compara a saída da tarefa com o contexto de referência fornecido
- Pontuação de Fidelidade: Usa um avaliador interno para atribuir uma pontuação de fidelidade (0-10)
- Determinação do Veredito: Determina se o conteúdo é fiel ou contém alucinações
- Verificação de Limiar: Se um limiar personalizado for definido, valida contra essa pontuação
- Geração de Feedback: Fornece motivos detalhados caso a validação falhe
Lógica de Validação
Seção intitulada “Lógica de Validação”- Modo Padrão: Utiliza validação baseada em veredito (FIÉL vs ALUCINADO)
- Modo com Limiar: Requer que a pontuação de fidelidade atinja ou supere o limiar especificado
- Tratamento de Erros: Lida com erros de avaliação de forma elegante e fornece feedback informativo
Resultados da Proteção
Seção intitulada “Resultados da Proteção”A proteção retorna resultados estruturados indicando o status da validação:
# Exemplo de estrutura de resultado da proteção{ "valid": False, "feedback": "Content appears to be hallucinated (score: 4.2/10, verdict: HALLUCINATED). The output contains information not supported by the provided context."}Propriedades do Resultado
Seção intitulada “Propriedades do Resultado”- valid: Booleano indicando se a saída passou na validação
- feedback: Explicação detalhada quando a validação falha, incluindo:
- Pontuação de fidelidade
- Classificação do veredito
- Motivos específicos para a falha
Integração com o Sistema de Tarefas
Seção intitulada “Integração com o Sistema de Tarefas”Validação Automática
Seção intitulada “Validação Automática”Quando uma proteção é adicionada à tarefa, ela valida automaticamente a saída antes da tarefa ser marcada como concluída:
# Fluxo de validação de saída da tarefatask_output = meu_agente.execute_task(minha_tarefa)resultado_validacao = protecao(task_output)
if resultado_validacao.valid: # Tarefa concluída com sucesso return task_outputelse: # Tarefa falha com feedback de validação raise ValidationError(resultado_validacao.feedback)Rastreamento de Eventos
Seção intitulada “Rastreamento de Eventos”A proteção se integra ao sistema de eventos do CrewAI para fornecer observabilidade:
- Validação Iniciada: Quando a avaliação da proteção começa
- Validação Concluída: Quando a avaliação termina com resultados
- Falha na Validação: Quando ocorrem erros técnicos durante a avaliação
Melhores Práticas
Seção intitulada “Melhores Práticas”Diretrizes para o Contexto
Seção intitulada “Diretrizes para o Contexto”- Forneça Contexto Abrangente
Inclua todas as informações factuais relevantes nas quais a IA deve basear sua saída:
contexto = """Empresa XYZ foi fundada em 2020 e é especializada em soluções de energia renovável.Possui 150 funcionários e faturou R$ 50 milhões em 2023.Seus principais produtos incluem painéis solares e turbinas eólicas.""" - Mantenha o Contexto Relevante
Inclua apenas informações diretamente relacionadas à tarefa para evitar confusão:
# Bom: Contexto focadocontexto = "O clima atual em Nova York é 18°C com chuva leve."# Evite: Informações irrelevantescontexto = "The weather is 18°C. The city has 8 million people. Traffic is heavy." - Atualize o Contexto Regularmente
Certifique-se de que seu contexto de referência reflita informações atuais e precisas.
Seleção de Limiar
Seção intitulada “Seleção de Limiar”- Comece com a Validação Padrão
Inicie sem limiares personalizados para entender a performance inicial.
- Ajuste Conforme as Necessidades
- Conteúdo crítico: Use limiar 8-10 para máxima precisão
- Conteúdo geral: Use limiar 6-7 para validação equilibrada
- Conteúdo criativo: Use limiar 4-5 ou validação padrão baseada em veredito
- Monitore e Itere
Acompanhe os resultados da validação e ajuste os limiares conforme falsos positivos/negativos.
Considerações de Performance
Seção intitulada “Considerações de Performance”Impacto no Tempo de Execução
Seção intitulada “Impacto no Tempo de Execução”- Sobrecarga de Validação: Cada proteção adiciona ~1-3 segundos por tarefa
- Eficiência do LLM: Escolha modelos eficientes para avaliação (ex: gpt-4o-mini)
Otimização de Custos
Seção intitulada “Otimização de Custos”- Seleção de Modelo: Utilize modelos menores e eficientes para avaliação da proteção
- Tamanho do Contexto: Mantenha o contexto de referência conciso, mas abrangente
- Cache: Considere armazenar resultados de validação para conteúdos repetidos
Solução de Problemas
Seção intitulada “Solução de Problemas”Validação Sempre Falha
Possíveis Causas:
- Contexto muito restrito ou não relacionado à saída da tarefa
- Limiar configurado alto demais para o tipo de conteúdo
- Contexto de referência desatualizado
Soluções:
- Revise e atualize o contexto para corresponder aos requisitos da tarefa
- Reduza o limiar ou utilize validação padrão baseada em veredito
- Certifique-se de que o contexto esteja atual e correto
Falsos Positivos (Conteúdo Válido Marcado como Inválido)
Possíveis Causas:
- Limiar alto demais para tarefas criativas ou interpretativas
- Contexto não cobre todos os aspectos válidos da saída
- Modelo de avaliação excessivamente conservador
Soluções:
- Reduza o limiar ou utilize validação padrão
- Expanda o contexto para incluir um espectro maior do conteúdo aceitável
- Teste com diferentes modelos de avaliação
Erros de Avaliação
Possíveis Causas:
- Problemas de conexão de rede
- Modelo LLM indisponível ou com limite de uso
- Saída ou contexto da tarefa em formato inadequado
Soluções:
- Verifique a conectividade de rede e o status do serviço LLM
- Implemente lógica de retentativas para falhas transitórias
- Valide o formato da saída da tarefa antes da avaliação da proteção
Precisa de Ajuda?
Entre em contato com nosso suporte para assistência na configuração ou solução de problemas da proteção contra alucinações.