Conecte o Google Gemini ao DeepEval em menos de três minutos
Se você busca avaliar modelos de linguaegm grandes (LLM) com suporte nativo ao Google Gemini, este guia mostra como integrar o modelo diretamente ao framework de avaliação DeepEval — sem escrever código complexo. Com apenas configurações mínimas, você pode iniciar testes automatizados e mensurar desempenho em cenários reais, como sistemas RAG ou respostas multimodais.
Por que combinar DeepEval com Gemini?
O DeepEval é um framework aberto voltado para a avaliação rigorosa de LLMs, oefrecendo mais de 20 métricas especializadas, incluindo coerência factual, relevância da resposta e detecção de falácias. Já o Google Gemini destaca-se por sua capacidade multimodal e inferência eficiente. Juntos, formam uma solução pdoerosa para:
- Avaliar precisão factual do Gemini usando métricas padrão do DeepEval
- Garantir consistência em produção com testes automatizados
- Comparar desempenho entre modelos, incluindo Gemini vs. outros LLMs
Configuração inicial
Antes de tudo, instale a versão mais recente do DeepEval:
pip install -U deepeval
Em seguida, obtenha sua chave de API no Google AI Studio e defina-a como variável de ambiente:
export GOOGLE_API_KEY="sua_chave_api_aqui"
Edite o arquivo de configuração do DeepEval para habilitar o Gemini:
# deepeval/config/settings.py
MODEL_PROVIDERS = {
"gemini": {
"api_key_env_var": "GOOGLE_API_KEY",
"default_model": "gemini-pro",
"supported_models": ["gemini-pro", "gemini-pro-vision", "gemini-ultra"]
}
}
Implementação interna do modelo Gemini
O DeepEval usa um sistema modular para chamadas de LLMs. Abaixo está um exemplo da implementação do Gemini dentro do módulo deepeval/models/llms/gemini.py:
from google.generativeai import GenerativeModel
from .base_llm import BaseLLM
class GeminiAdapter(BaseLLM):
def __init__(self, model_name: str = "gemini-pro"):
self.model = GenerativeModel(model_name)
def generate(self, prompt: str) -> str:
response = self.model.generate_content(prompt)
return response.text
async def async_generate(self, prompt: str) -> str:
response = await self.model.generate_content_async(prompt)
return response.text
Adaptação de métricas para Gemini
Para garantir que todas as métricas funcionem com o Gemini, basta usar o gerador de modelos interno. Exemplo com a métrica de fidelidade factual:
from deepeval.models import get_llm
class FidelityAssessment:
def __init__(self, model_name: str = "gemini-pro"):
self.llm = get_llm(model_name)
def evaluate(self, resposta: str, contexto: str) -> float:
pergunta = f"Verifique se esta resposta é fiel ao contexto fornecido:\nContexto: {contexto}\nResposta: {resposta}"
resultado = self.llm.generate(pergunta)
return self.parse_score(resultado)
Exemplo prático: Avaliação em sistema RAG
Crie um caso de teste para validar o comportamento do Gemini em um pipeline RAG:
from deepeval import TestCase, evaluate
from deepeval.metrics import ContextualRelevanceMetric
caso_teste = TestCase(
input="O que é o DeepEval?",
expected_output="Um framework de avaliação para modelos de linguagem.",
context="DeepEval é uma ferramenta open-source recomendada pela GitHub Trending, com suporte a múltiplas métricas."
)
metrica = ContextualRelevanceMetric(
threshold=0.7,
model_name="gemini-pro"
)
evaluate([caso_teste], [metrica])
Executar a avaliação
Use o comando CLI do DeepEval para rodar o teste:
deepeval test run examples/rag_evaluation/gemini_rag_test.py
Resultado esperado:
Test Case: O que é o DeepEval?
Metric: ContextualRelevanceMetric
Score: 0.89 (Aprovado)
Model Used: gemini-pro
Capacidades multimodais: Avaliação de imagens com Gemini-Pro-Vision
O DeepEval também permite testar a compreensão visual do Gemini. Exemplo com imagem:
from deepeval.metrics import ImageConsistencyMetric
metrica_imagem = ImageConsistencyMetric(
model_name="gemini-pro-vision",
image_path="test_images/cat_on_sofa.jpg",
expected_description="Um gato sentado em um sofá de tecido azul."
)
Conclusão
Com esta integração, você pode aplicar avaliações robustas ao Google Gemini sem codificação adicional. O DeepEval simplifica o processo de validação, permitindo que equipes de IA verifiquem qualidade, segurança e confiabilidade dos modelos em tempo real. A evolução contínua do framework trará suporte ainda mais amplo a cenários multimodais e métricas avançadas.