Snowflake Search Tool
O SnowflakeSearchTool
permite que agentes CrewAI executem consultas SQL e realizem buscas semânticas em data warehouses Snowflake.
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:
- 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 o SnowflakeSearchTool
para consultar dados de um banco de dados Snowflake:
Você também pode customizar a ferramenta com parâmetros adicionais:
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.
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:
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.