🔍 O que e Grounding
Grounding e a tecnica de ancorar respostas do LLM em dados factuais, reduzindo alucinacoes e melhorando a precisao.
💡 Por que Grounding importa
- •Reduz alucinacoes: Respostas baseadas em fontes verificaveis
- •Informacao atualizada: Supera knowledge cutoff do modelo
- •Citacoes: Permite rastrear origem das informacoes
- •Confianca: Usuarios podem verificar fontes
🌐 Google Search Grounding
Integracao nativa com Google Search permite acesso a informacoes em tempo real.
Habilitando Google Search
from google.generativeai import GenerativeModel
from google.generativeai.types import Tool
# Configurar grounding com Google Search
google_search_tool = Tool(
google_search_retrieval={
"dynamic_retrieval_config": {
"mode": "MODE_DYNAMIC",
"dynamic_threshold": 0.3
}
}
)
model = GenerativeModel(
'gemini-pro',
tools=[google_search_tool]
)
💡 Quando usar
Use Google Search Grounding para perguntas sobre eventos recentes, precos atuais, noticias ou qualquer informacao que muda frequentemente.
📚 RAG com Vertex AI
RAG (Retrieval Augmented Generation) permite buscar em seus proprios documentos para contextualizar respostas.
Indexacao
Documentos sao divididos em chunks e convertidos em embeddings vetoriais.
Retrieval
Query do usuario e convertida em embedding e busca chunks similares.
Generation
Chunks relevantes sao incluidos no prompt como contexto para geracao.
📎 Citations e Sources
Respostas grounded incluem citacoes que permitem rastrear a origem de cada informacao.
Extraindo Citacoes
response = model.generate_content("Qual o preco do Bitcoin hoje?")
# Acessar texto da resposta
print(response.text)
# Acessar citacoes
if response.candidates[0].grounding_metadata:
for source in response.candidates[0].grounding_metadata.sources:
print(f"Fonte: {source.uri}")
print(f"Titulo: {source.title}")
⚙️ Configuracao de Retrieval
Ajuste quando e como o grounding e acionado.
dynamic_threshold
- 0.0: Sempre usa grounding
- 0.3: Balanceado (recomendado)
- 1.0: Raramente usa grounding
mode
- MODE_DYNAMIC: Modelo decide
- MODE_UNSPECIFIED: Desabilitado
💡 Best Practices
Diretrizes para uso eficiente de grounding.
✓ Use Grounding para
- ✓Fatos e dados atuais
- ✓Noticias e eventos
- ✓Precos e estatisticas
- ✓Informacoes verificaveis
✗ Evite Grounding para
- ✗Tarefas criativas
- ✗Geracao de codigo
- ✗Traducao simples
- ✗Quando latencia importa
📚 Resumo do Modulo
Proximo Modulo:
3.6 - Multimodal