📊 Cap 19: Avaliação de Sistemas de IA e LLMOps - Exemplos Práticos
Código executável demonstrando como auditar a qualidade de um sistema RAG em produção calculando a RAG Triad e custos operacionais.
🗺️ Fluxo de Processamento
flowchart LR
RUN["Execução do Pipeline RAG"]
--> TRACE["1. Coleta de Telemetria (Tokens, Latência e Chunks)"]
TRACE --> EVAL["2. Avaliador Ragas / TruLens (RAG Triad)"]
EVAL --> METRICS["Métricas: Fidelidade=0.98, Relevância=0.95, Custo=$0.0012"]
METRICS --> DASHBOARD["Painel de Observabilidade LangSmith / Grafana ⚡"]
style RUN fill:#ede7f6,stroke:#512da8,stroke-width:2px
style TRACE fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style EVAL fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style METRICS fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style DASHBOARD fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
📄 Código de Demonstração (llmops_eval_demo.py)
def avaliar_interacao_rag():
print("=== Auditoria Automatizada de LLMOps (RAG Triad) ===\n")
interacao = {
"pergunta": "Qual o limite de conexões simultâneas da API?",
"contexto_recuperado": "A API Gateway suporta até 10.000 conexões ativas simultâneas por pod.",
"resposta_llm": "O limite oficial da API Gateway é de até 10.000 conexões simultâneas por pod.",
"tokens_prompt": 45,
"tokens_resposta": 22,
"tempo_resposta_ms": 312
}
# 1. Avaliação de Fidelidade (Groundedness)
fidelidade = 1.0 if "10.000" in interacao["resposta_llm"] and "conexões" in interacao["resposta_llm"] else 0.0
# 2. Avaliação de Relevância da Resposta
relevancia = 0.95
# 3. Cálculo de Custo
custo_total = (interacao["tokens_prompt"] / 1000 * 0.0015) + (interacao["tokens_resposta"] / 1000 * 0.002)
print(f"Pergunta: '{interacao['pergunta']}'")
print(f"Contexto: '{interacao['contexto_recuperado']}'")
print(f"Resposta Gerada: '{interacao['resposta_llm']}'")
print("\n--- Relatório de Qualidade ---")
print(f" Fidelidade ao Contexto (Faithfulness): {fidelidade * 100:.1f}% ✅")
print(f" Relevância da Resposta (Answer Relevance): {relevancia * 100:.1f}% ✅")
print(f" Latência Total: {interacao['tempo_resposta_ms']} ms")
print(f" Consumo: {interacao['tokens_prompt'] + interacao['tokens_resposta']} tokens | Custo: ${custo_total:.6f}")
if __name__ == "__main__":
avaliar_interacao_rag()
🚀 Saída Esperada no Terminal / Execução
=== Auditoria Automatizada de LLMOps (RAG Triad) ===
Pergunta: 'Qual o limite de conexões simultâneas da API?'
Contexto: 'A API Gateway suporta até 10.000 conexões ativas simultâneas por pod.'
Resposta Gerada: 'O limite oficial da API Gateway é de até 10.000 conexões simultâneas por pod.'
--- Relatório de Qualidade ---
Fidelidade ao Contexto (Faithfulness): 100.0% ✅
Relevância da Resposta (Answer Relevance): 95.0% ✅
Latência Total: 312 ms
Consumo: 67 tokens | Custo: $0.000112
🧭 Navegação Rápida
| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |