Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

Compreendendo o Google Search Grounding

Compreendendo o Google Search Grounding
#ProgramaçãoGlobal #Google #GoogleSearchGrounding #ADK #IA


O Google Search Grounding transforma agentes de IA de repositórios estáticos de conhecimento em assistentes dinâmicos e conectados à web, capazes de fornecer informações precisas e em tempo real. Ao integrar esse recurso aos seus agentes do ADK, você permite que eles:


  • Acesse informações atuais além dos dados de treinamento
  • Forneça atribuição de fonte para transparência e confiança
  • Forneça respostas abrangentes com fatos verificáveis


Melhore a experiência do usuário com sugestões de pesquisa relevantes


O processo de aterramento conecta perfeitamente as consultas dos usuários ao vasto índice de busca do Google, enriquecendo as respostas com contexto atualizado e mantendo o fluxo da conversa. Com a implementação e exibição adequadas de respostas aterradas, seus agentes se tornam ferramentas poderosas para descoberta de informações e tomada de decisões.


A ferramenta Google Search Grounding é um recurso poderoso do Kit de Desenvolvimento de Agentes (ADK - Agent Development Kit) que permite que agentes de IA acessem informações confiáveis ​​e em tempo real da web. Ao conectar seus agentes à Pesquisa Google, você pode fornecer aos usuários respostas atualizadas e respaldadas por fontes confiáveis.


Esse recurso é particularmente útil para consultas que exigem informações atuais, como atualizações meteorológicas, notícias sobre eventos, preços de ações ou quaisquer fatos que possam ter mudado desde o corte dos dados de treinamento do modelo. Quando o seu agente determina que informações externas são necessárias, ele realiza automaticamente pesquisas na web e incorpora os resultados em sua resposta com a devida atribuição.


Início rápido do Google Search Grounding


Este guia de início rápido orienta você na criação de um agente ADK com o recurso de Google Search Grounding. Este guia de início rápido pressupõe um IDE local (VS Code ou PyCharm, etc.) com Python 3.9+ e acesso ao terminal.


1. Configurar ambiente e instalar o ADK

 

Criar e ativar ambiente virtual:

# Create

python -m venv .venv


# Activate (each new terminal)

# macOS/Linux: source .venv/bin/activate

# Windows CMD: .venv\Scripts\activate.bat

# Windows PowerShell: .venv\Scripts\Activate.ps1


Instalar o ADK:


pip install google-adk==1.4.2


2. Criar projeto de agente


Em um diretório de projeto, execute os seguintes comandos:


OS X e Linux

 

# Step 1: Create a new directory for your agent

mkdir google_search_agent


# Step 2: Create __init__.py for the agent

echo "from . import agent" > google_search_agent/__init__.py


# Step 3: Create an agent.py (the agent definition) and .env (Gemini authentication config)

touch google_search_agent/agent.py .env


Windows

 

# Step 1: Create a new directory for your agent

mkdir google_search_agent


# Step 2: Create __init__.py for the agent

echo "from . import agent" > google_search_agent/__init__.py


# Step 3: Create an agent.py (the agent definition) and .env (Gemini authentication config)

type nul > google_search_agent\agent.py 

type nul > google_search_agent\.env


Editar agent.py

Copie e cole o seguinte código em agent.py:


google_search_agent/agent.py


from google.adk.agents import Agent

from google.adk.tools import google_search


root_agent = Agent(

    name="google_search_agent",

    model="gemini-2.5-flash",

    instruction="Answer questions using Google Search when needed. Always cite sources.",

    description="Professional search assistant with Google Search capabilities",

    tools=[google_search]

)


Agora você teria a seguinte estrutura de diretório:


my_project/

    google_search_agent/

        __init__.py

        agent.py

    .env


3. Escolha uma plataforma

Para executar o agente, você precisa selecionar uma plataforma que o agente usará para chamar o modelo Gemini. Escolha entre Google AI Studio ou Vertex AI:


Gemini - Estúdio de IA do Google

Obtenha uma chave de API do Google AI Studio.


Ao usar Python, abra o arquivo .env, copie e cole o código a seguir.


.env


GOOGLE_GENAI_USE_VERTEXAI=FALSE

GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE

Substitua PASTE_YOUR_ACTUAL_API_KEY_HEREpelo seu API KEY.


Gemini - Google Cloud Vertex IA

Você precisa de uma conta existente do Google Cloud e de um projeto.


Configurar um projeto do Google Cloud

Configurar a CLI do gcloud

Autentique-se no Google Cloud a partir do terminal executando gcloud auth login.

Habilite a API do Vertex AI.

Ao usar Python, abra o .env arquivo, copie e cole o código a seguir e atualize o ID e o local do projeto.


.env


GOOGLE_GENAI_USE_VERTEXAI=TRUE

GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID

GOOGLE_CLOUD_LOCATION=LOCATION


4. Execute seu agente

Existem várias maneiras de interagir com seu agente:


Interface de usuário de desenvolvimento (adk web)


Execute o seguinte comando para iniciar a interface de desenvolvimento .


adk web

Nota para usuários do Windows: Ao clicar em _make_subprocess_transport NotImplementedError, considere usar adk web --no-reload em vez disso.


Etapa 1: Abra a URL fornecida (geralmente http://localhost:8000ou http://127.0.0.1:8000) diretamente no seu navegador.


Etapa 2:  No canto superior esquerdo da interface, você pode selecionar seu agente no menu suspenso. Selecione "google_search_agent".


Solução de problemas: Se você não vir "google_search_agent" no menu suspenso, certifique-se de que está executando adk web na pasta pai da pasta do seu agente (ou seja, a pasta pai do google_search_agent).


Etapa 3:  Agora você pode conversar com seu agente usando a caixa de texto.


Terminal (execução adk)


Execute o seguinte comando para conversar com seu agente do Weather.


adk run google_search_agent

 

Para sair, use Cmd/Ctrl+C.


📝 Exemplos de prompts para tentar

Com essas perguntas, você pode confirmar se o agente está realmente acessando o Google Search para obter as últimas informações sobre o clima e a hora.


  • Como é o clima em Nova York?
  • Que horas são em Nova York?
  • Como é o clima em Paris?
  • Que horas são em Paris?


Você criou e interagiu com sucesso com seu agente de Pesquisa do Google usando o ADK!

Como funciona o Google Search Grounding

Google Search Grounding é o processo que conecta seu agente a informações em tempo real da web, permitindo que ele gere respostas mais precisas e atualizadas. Quando o prompt de um usuário solicita informações com as quais o modelo não foi treinado, ou que são sensíveis ao tempo, o Large Language Model subjacente do agente decide, de forma inteligente, invocar a ferramenta google_search para encontrar os fatos relevantes.


Diagrama de fluxo de dados

O diagrama abaixo ilustra o processo passo a passo de como uma consulta do usuário resulta em uma resposta fundamentada.


Diagrama de fluxo de dados do Google Search Grounding


Descrição detalhada

O agente de Grounding usa o fluxo de dados descrito no diagrama para recuperar, processar e incorporar informações externas na resposta final apresentada ao usuário.


Consulta do usuário: um usuário final interage com seu agente fazendo uma pergunta ou dando um comando.


Orquestração do ADK: O Agent Development Kit orquestra o comportamento do agente e passa a mensagem do usuário para o núcleo do seu agente.


Análise de LLM e Chamada de Ferramentas: O LLM do agente (por exemplo, um modelo Gemini) analisa o prompt. Se determinar que informações externas atualizadas são necessárias, ele aciona o mecanismo de aterramento chamando a ferramenta google_search. Isso é ideal para responder a consultas sobre notícias recentes, previsão do tempo ou fatos não presentes nos dados de treinamento do modelo.


Interação do serviço de aterramento: a ferramenta google_search interage com um serviço de aterramento interno que formula e envia uma ou mais consultas ao Índice de Pesquisa do Google.


Injeção de Contexto: O serviço de Grounding recupera as páginas da web e os snippets relevantes. Em seguida, ele integra esses resultados de pesquisa ao contexto do modelo antes que a resposta final seja gerada. Essa etapa crucial permite que o modelo "raciocine" sobre dados factuais e em tempo real.


Geração de Resposta Fundamentada: O LLM, agora informado pelos novos resultados da pesquisa, gera uma resposta que incorpora as informações recuperadas.


Apresentação da Resposta com Fontes: O ADK recebe a resposta final fundamentada, que inclui os URLs de origem e os groundingMetadata necessários, e a apresenta ao usuário com atribuição. Isso permite que os usuários finais verifiquem as informações e gera confiança nas respostas do agente.


Compreendendo o aterramento com a resposta da Pesquisa Google


Quando o agente usa a Pesquisa Google para fundamentar uma resposta, ele retorna um conjunto detalhado de informações que inclui não apenas a resposta final em texto, mas também as fontes utilizadas para gerá-la. Esses metadados são cruciais para verificar a resposta e atribuir a atribuição às fontes originais.


Exemplo de uma resposta fundamentada

A seguir está um exemplo do objeto de conteúdo retornado pelo modelo após uma consulta fundamentada.


Texto da resposta final:

"Yes, Inter Miami won their last game in the FIFA Club World Cup. They defeated FC Porto 2-1 in their second group stage match. Their first game in the tournament was a 0-0 draw against Al Ahly FC. Inter Miami is scheduled to play their third group stage match against Palmeiras on Monday, June 23, 2025."


Trecho de metadados de aterramento:


"groundingMetadata": {

  "groundingChunks": [

    { "web": { "title": "mlssoccer.com", "uri": "..." } },

    { "web": { "title": "intermiamicf.com", "uri": "..." } },

    { "web": { "title": "mlssoccer.com", "uri": "..." } }

  ],

  "groundingSupports": [

    {

      "groundingChunkIndices": [0, 1],

      "segment": {

        "startIndex": 65,

        "endIndex": 126,

        "text": "They defeated FC Porto 2-1 in their second group stage match."

      }

    },

    {

      "groundingChunkIndices": [1],

      "segment": {

        "startIndex": 127,

        "endIndex": 196,

        "text": "Their first game in the tournament was a 0-0 draw against Al Ahly FC."

      }

    },

    {

      "groundingChunkIndices": [0, 2],

      "segment": {

        "startIndex": 197,

        "endIndex": 303,

        "text": "Inter Miami is scheduled to play their third group stage match against Palmeiras on Monday, June 23, 2025."

      }

    }

  ],

  "searchEntryPoint": { ... }

}


Como interpretar a resposta

Os metadados fornecem um link entre o texto gerado pelo modelo e as fontes que o suportam. Aqui está uma análise passo a passo:


groundingChunks: Esta é uma lista das páginas da web consultadas pelo modelo. Cada pedaço contém o título da página e um URI que leva à fonte.


groundingSupports: Esta lista conecta frases específicas na resposta final de volta aos groundingChunks.


segmento: Este objeto identifica uma parte específica da resposta do texto final, definida por seu startIndex, endIndex e o próprio texto.


groundingChunkIndices: Esta matriz contém os números de índice que correspondem às fontes listadas em groundingChunks. Por exemplo, a frase "Eles derrotaram o FC Porto por 2 a 1..." é corroborada por informações de groundingChunks nos índices 0 e 1 (ambos de mlssoccer.com e intermiamicf.com).


Como exibir respostas de aterramento com a Pesquisa Google


Uma parte essencial do uso do grounding é exibir corretamente as informações, incluindo citações e sugestões de pesquisa, ao usuário final. Isso gera confiança e permite que os usuários verifiquem as informações.




Exibindo sugestões de pesquisa


O searchEntryPointobjeto em groundingMetadata contém HTML pré-formatado para exibir sugestões de consultas de pesquisa. Como visto na imagem de exemplo, elas geralmente são renderizadas como ícones clicáveis ​​que permitem ao usuário explorar tópicos relacionados.


HTML renderizado de searchEntryPoint: Os metadados fornecem o HTML e o CSS necessários para renderizar a barra de sugestões de pesquisa, que inclui o logotipo do Google e ícones para consultas relacionadas, como "Quando será a próxima Copa do Mundo de Clubes da FIFA" e "Histórico da Copa do Mundo de Clubes da FIFA do Inter Miami". Integrar esse HTML diretamente no front-end do seu aplicativo exibirá as sugestões conforme o esperado.



👉 Siga André Bernardes no LinkedinClique aqui e contate-me via What's App.

Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com


 

 Compre OS LIVROS DESTA SÉRIE 



 Série Donut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Access — André Luiz BernardeseBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Excel — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Outlook — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes  eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes  eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Word — André Luiz Bernardes

Modelo de Previsão de Vendas baseado em Tendência com DAX

Modelo de Previsão de Vendas baseado em Tendência com DAX

#ProgramaçãoGlobal #DAX #PowerBI #SalesForecast #TrendAnalysis #BusinessIntelligence #PredictiveAnalytics


Clique na imagem acima para acessar 10 e-Books!


A previsão de vendas é fundamental para o planejamento estratégico e a alocação de recursos. Este código DAX (Data Analysis Expressions - Trata-se de uma linguagem de fórmulas criada para análise de dados e modelagem, utilizada em ferramentas como Power BI, Excel (Power Pivot) e SQL Server Analysis Services. Ela permite a criação de medidas, colunas calculadas e outras expressões que possibilitam análises dinâmicas e precisas, transformando dados brutos em insights valiosos para a tomada de decisão) projeta o desempenho futuro com base em tendências históricas. A função DATESINPERIOD extrai uma média dos últimos 6 meses, oferecendo uma linha de base que reflete a tendência central dos dados. Comparando o valor atual com essa tendência, o código gera uma projeção ajustada, representando o desvio entre o desempenho recente e a média histórica. 


-- Modelo de Previsão de Vendas Baseado em Tendência

Sales Forecast =

VAR CurrentSales = [Sales]

VAR Trend = CALCULATE(

    AVERAGE([Sales]),

    DATESINPERIOD('Date'[Date], LASTDATE('Date'[Date]), -6, MONTH)

)

RETURN

CurrentSales + (CurrentSales - Trend)



Essa abordagem simples e eficaz fornece insights práticos para a tomada de decisão, ajudando os gestores a prever cenários e planejar ações futuras com base em dados concretos.


👉 Não se esqueça de seguir André Bernardes no Linkedin. Clique aqui e me contate via What's App. 

Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

 PUDIM PROJECT 

eBook - PT - PUDIM PROJECT 2024 - Python Volume 01 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 02 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 03 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 04 - Funções para Automatização - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 05 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 06 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 07 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 08 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 09 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 10 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 11 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes

BATCH | Encadeamento de Comandos

BATCH | Encadeamento de Comandos
#ProgramaçãoGlobal #BAT #BATCH #DOS #Script


Nome do Arquivo: Criar_Projeto.bat


Este script exemplifica o encadeamento de comandos para realizar uma tarefa multifásica de forma sequencial e automatizada. O objetivo é criar uma estrutura de diretórios básica para um novo projeto, navegar para dentro dessa estrutura e, em seguida, criar um arquivo inicial de anotações. Essa sequência, se feita manualmente, exigiria a digitação de vários comandos um após o outro.



O script executa uma série de comandos em uma ordem lógica e predefinida. Primeiro, MKDIR (ou MD) cria o diretório principal do projeto. Em seguida, CD (Change Directory) altera o foco do prompt para dentro da pasta recém-criada. Depois, ECHO ... > arquivo.txt cria um arquivo de texto com um cabeçalho inicial. Finalmente, TREE é usado para exibir a estrutura de pastas criada, e DIR lista os arquivos, fornecendo uma confirmação visual de que todas as etapas foram executadas corretamente.


O encadeamento é a essência da automação com BATCH. Ele permite que processos complexos, como a compilação de um programa, a preparação de um ambiente de desenvolvimento ou a implantação de um site, sejam definidos em um único arquivo. Ao executar o script, o usuário tem a garantia de que todas as etapas necessárias serão executadas na ordem correta, sem omissões ou erros de digitação, garantindo consistência e confiabilidade no processo.


@REM Nome do Arquivo: Criar_Projeto.bat

@ECHO OFF

TITLE Criador de Estrutura de Projeto


REM --------------------------------------------------------------------------

REM Documentacao:

REM Este script demonstra o encadeamento de comandos para criar uma

REM estrutura de pastas e arquivos para um novo projeto.

REM

REM Comandos Utilizados:

REM   MKDIR (MD)   - Cria um novo diretorio (pasta).

REM   CD           - Change Directory, muda o diretorio atual.

REM   TREE         - Exibe graficamente a estrutura de pastas.

REM   DIR          - Lista os arquivos e subdiretorios em um diretorio.

REM --------------------------------------------------------------------------


ECHO.

ECHO ===================================================

ECHO         CRIADOR DE ESTRUTURA DE PROJETO

ECHO ===================================================

ECHO.


REM --- CONFIGURACAO ---

SET NOME_PROJETO="Meu_Novo_Projeto"

SET LOCAL_PROJETO="C:\Users\SeuUsuario\Documents"

REM --- FIM DA CONFIGURACAO ---


ECHO Criando a estrutura do projeto em: %LOCAL_PROJETO%\%NOME_PROJETO%

ECHO.


REM 1. Mudar para o diretorio onde os projetos sao guardados

CD /D %LOCAL_PROJETO%


REM 2. Criar a pasta principal do projeto

MKDIR %NOME_PROJETO%


REM 3. Entrar na pasta do projeto

CD %NOME_PROJETO%


REM 4. Criar subpastas

MKDIR docs

MKDIR src

MKDIR assets


REM 5. Criar um arquivo inicial de anotacoes

ECHO # Anotacoes do Projeto: %NOME_PROJETO% > docs\anotacoes.txt

ECHO Criado em: %DATE% >> docs\anotacoes.txt


ECHO Estrutura criada com sucesso! Exibindo o resultado:

ECHO.

TREE /F

ECHO.

DIR


ECHO.

ECHO ===================================================

ECHO                  PROCESSO CONCLUIDO

ECHO ===================================================

ECHO.

PAUSE



👉 Siga André Bernardes no LinkedinClique aqui e contate-me via What's App.

Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com


 

 Compre OS LIVROS DESTA SÉRIE 



 Série Donut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Access — André Luiz BernardeseBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Excel — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Outlook — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes  eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes  eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Word — André Luiz Bernardes
diHITT - Notícias