MODULO 3.5

🔍 Grounding e Search

Conexao com dados reais via Google Search, RAG e tecnicas para reduzir alucinacoes.

6
Topicos
30
Minutos
Avancado
Nivel
Teoria
Tipo
1

🔍 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
2

🌐 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.

3

📚 RAG com Vertex AI

RAG (Retrieval Augmented Generation) permite buscar em seus proprios documentos para contextualizar respostas.

1

Indexacao

Documentos sao divididos em chunks e convertidos em embeddings vetoriais.

2

Retrieval

Query do usuario e convertida em embedding e busca chunks similares.

3

Generation

Chunks relevantes sao incluidos no prompt como contexto para geracao.

4

📎 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}")
5

⚙️ 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
6

💡 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

Grounding - Ancora respostas em dados factuais para reduzir alucinacoes
Google Search - Integracao nativa para informacoes em tempo real
RAG - Busca semantica em documentos proprios
Citations - Rastreabilidade e verificacao de fontes
Configuracao - Threshold e mode para controle fino
Best Practices - Use para fatos, evite para tarefas criativas

Proximo Modulo:

3.6 - Multimodal