SnowflakeSearchTool
Descrição
OSnowflakeSearchTool
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:Passos para Começar
Para usar eficazmente oSnowflakeSearchTool
, siga estes passos:
- Instale as Dependências: Instale os pacotes necessários usando um dos comandos acima.
- Configure a Conexão com o Snowflake: Crie um objeto
SnowflakeConfig
com suas credenciais do Snowflake. - Inicialize a Ferramenta: Crie uma instância da ferramenta com a configuração necessária.
- Execute Consultas: Utilize a ferramenta para rodar consultas SQL no seu banco de dados Snowflake.
Exemplo
O exemplo a seguir demonstra como usar oSnowflakeSearchTool
para consultar dados de um banco de dados Snowflake:
Code
Code
Parâmetros
Parâmetros do SnowflakeConfig
A classeSnowflakeConfig
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.
password
ou private_key_path
.
Parâmetros do SnowflakeSearchTool
OSnowflakeSearchTool
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 oSnowflakeSearchTool
, 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.
Code
Recursos Avançados
Pool de Conexões
OSnowflakeSearchTool
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âmetrosmax_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 definirenable_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
OSnowflakeSearchTool
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
Conclusão
OSnowflakeSearchTool
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.