Pular para o conteúdo principal

SnowflakeSearchTool

Descrição

O SnowflakeSearchTool foi desenvolvido para conectar-se a data warehouses Snowflake e executar consultas SQL com recursos avançados como pool de conexões, lógica de tentativas e execução assíncrona. Esta ferramenta permite que agentes CrewAI interajam com bases de dados Snowflake, sendo ideal para tarefas de análise de dados, relatórios e inteligência de negócios que requerem acesso a dados empresariais armazenados no Snowflake.

Instalação

Para utilizar esta ferramenta, é necessário instalar as dependências requeridas:
Ou, alternativamente:

Passos para Começar

Para usar eficazmente o SnowflakeSearchTool, siga estes passos:
  1. Instale as Dependências: Instale os pacotes necessários usando um dos comandos acima.
  2. Configure a Conexão com o Snowflake: Crie um objeto SnowflakeConfig com suas credenciais do Snowflake.
  3. Inicialize a Ferramenta: Crie uma instância da ferramenta com a configuração necessária.
  4. Execute Consultas: Utilize a ferramenta para rodar consultas SQL no seu banco de dados Snowflake.

Exemplo

O exemplo a seguir demonstra como usar o SnowflakeSearchTool para consultar dados de um banco de dados Snowflake:
Code
Você também pode customizar a ferramenta com parâmetros adicionais:
Code

Parâmetros

Parâmetros do SnowflakeConfig

A classe SnowflakeConfig aceita os seguintes parâmetros:
  • account: Obrigatório. Identificador da conta Snowflake.
  • user: Obrigatório. Nome de usuário do Snowflake.
  • password: Opcional*. Senha do Snowflake.
  • private_key_path: Opcional*. Caminho para o arquivo de chave privada (alternativa à senha).
  • warehouse: Obrigatório. Nome do warehouse do Snowflake.
  • database: Obrigatório. Banco de dados padrão.
  • snowflake_schema: Obrigatório. Schema padrão.
  • role: Opcional. Papel de usuário Snowflake.
  • session_parameters: Opcional. Parâmetros de sessão personalizados como dicionário.
*É necessário fornecer password ou private_key_path.

Parâmetros do SnowflakeSearchTool

O SnowflakeSearchTool aceita os seguintes parâmetros durante a inicialização:
  • config: Obrigatório. Um objeto SnowflakeConfig contendo detalhes da conexão.
  • pool_size: Opcional. Número de conexões no pool. O padrão é 5.
  • max_retries: Opcional. Número máximo de tentativas para consultas que falharem. Padrão é 3.
  • retry_delay: Opcional. Intervalo entre tentativas em segundos. Padrão é 1.0.
  • enable_caching: Opcional. Define se o cache de resultados de consultas será habilitado. Padrão é True.

Uso

Ao utilizar o SnowflakeSearchTool, você deve fornecer os seguintes parâmetros:
  • query: Obrigatório. Consulta SQL a ser executada.
  • database: Opcional. Sobrescreve o banco de dados padrão especificado na configuração.
  • snowflake_schema: Opcional. Sobrescreve o schema padrão especificado na configuração.
  • timeout: Opcional. Tempo limite da consulta em segundos. O padrão é 300.
A ferramenta retornará os resultados da consulta como uma lista de dicionários, onde cada dicionário representa uma linha com os nomes das colunas como chaves.
Code

Recursos Avançados

Pool de Conexões

O SnowflakeSearchTool implementa pool de conexões para melhorar a performance reutilizando conexões com o banco de dados. Você pode controlar o tamanho do pool com o parâmetro pool_size.

Tentativas Automáticas

A ferramenta tenta novamente consultas que falharem automaticamente, usando backoff exponencial. O comportamento das tentativas pode ser ajustado pelos parâmetros max_retries e retry_delay.

Cache de Resultados de Consultas

Para melhorar a performance em consultas repetidas, a ferramenta pode armazenar resultados em cache. Este recurso está habilitado por padrão, mas pode ser desativado ao definir enable_caching=False.

Autenticação por Par de Chaves

Além de autenticação por senha, a ferramenta também suporta autenticação por par de chaves para maior segurança:
Code

Tratamento de Erros

O SnowflakeSearchTool inclui uma gestão abrangente de erros para situações comuns no Snowflake:
  • Falhas de conexão
  • Timeout de consultas
  • Erros de autenticação
  • Erros de banco de dados e schema
Quando um erro ocorrer, a ferramenta tentará repetir a operação (se estiver configurado) e fornecerá informações detalhadas sobre o erro.

Conclusão

O SnowflakeSearchTool oferece uma maneira poderosa de integrar data warehouses Snowflake com agentes CrewAI. Com recursos como pool de conexões, tentativas automáticas e cache de consultas, ele possibilita acesso eficiente e confiável aos dados empresariais. Esta ferramenta é particularmente útil para tarefas de análise de dados, relatórios e inteligência de negócios que demandam acesso a dados estruturados armazenados no Snowflake.