Introdução geral
O Skyvern é uma ferramenta para automatizar fluxos de trabalho do navegador usando técnicas de Large Language Modelling (LLM) e visão computacional. Ele pode substituir soluções de automação frágeis ou não confiáveis, fornecendo um ponto de extremidade de API simples que pode automatizar com eficiência ações manuais em um grande número de sites. O Skyvern pode operar em sites que nunca foram vistos antes, mapeando automaticamente elementos visuais para as ações necessárias para concluir o fluxo de trabalho sem nenhum código personalizado.
O Skyvern é um pouco como o BabyAGI e o AutoGPT com recursos de visão, em que vários agentes automatizam totalmente o processo de pensar e agir sobre os objetivos da tarefa.
Lista de recursos do Skyvern
- Automatização de fluxos de trabalho do navegadorAutomatização de várias tarefas no navegador por meio de LLM e técnicas de visão computacional.
- Ponto de extremidade da APIAPI: fornece uma interface de API simples para facilitar a integração e a chamada.
- Não é necessário código personalizadoNão há necessidade de escrever scripts personalizados para cada site, é adaptável.
- Resistência a mudanças no layout da WebNão depende de um XPath ou seletor fixo e é capaz de lidar com alterações no layout da página.
- aplicação em larga escalaCapacidade de aplicar um único fluxo de trabalho a vários sites.
- interação inteligenteRaciocínio usando LLM para lidar com cenários de interação complexos.
Usando a Ajuda
Processo de instalação
- Preparação ambiental::
- Certifique-se de que o Python 3.11 ou superior esteja instalado.
- Instale a ferramenta de gerenciamento de dependências Poetry.
- Instale o banco de dados PostgreSQL.
- Instale o ambiente do Node.js.
- Suporte à implantação do Docker com um clique
- clonar código-fonte::
git clone https://github.com/skyvern-ai/skyvern.git cd skyvern
- Instalação de dependências::
. /setup.sh
- Configuração de variáveis de ambiente::
- modificações
.env
preencha a chave de API e os parâmetros de configuração necessários.
- modificações
- Início dos serviços::
docker-compose up -d
tarefa de visualização
Como entender as informações exibidas pelo Skyvern
Visualização dos resultados
O Skyvern vem com uma ferramenta de visualização para ajudá-lo a entender o desempenho de suas tarefas. Primeiro, navegue até a página Task History (Histórico de tarefas) e clique em qualquer tarefa para visualizá-la.
equipamento
Cada ação executada pelo Skyvern pode ser visualizada no Action Viewer e é acompanhada por uma captura de tela do estado da tela após a execução da ação.
gravar (vídeo ou áudio)
Cada tarefa do Skyvern contém uma gravação de toda a operação (de ponta a ponta). Para visualizar a gravação, clique na guia Recordings (Gravações).
Parâmetros da missão
Os parâmetros da tarefa são as entradas que você fornece ao Skyvern, que incluem URLs, regras de extração e qualquer outra informação relevante.
Registro de diagnóstico
A guia Diagnósticos contém informações que o Skyvern usa para processamento, incluindo capturas de tela anotadas, capturas de tela de ações, árvores de elementos, dicas, listas de ações, HTML de página e solicitações brutas do Large Language Model (LLM).
fluxo de trabalho
Fluxo de trabalho - vinculação de várias tarefas
Um fluxo de trabalho representa a vinculação de vários blocos de dados. Imagine invocar várias tarefas em sucessão, executar lógica condicional, extrair dados para CSV, etc. Todas essas ideias terão suporte em nossa funcionalidade de fluxo de trabalho.
Todos os nossos fluxos de trabalho começam com YAML mas a nova versão oferece uma interface gráfica que permite que vários componentes sejam vinculados para produzir alguma saída definida.
Módulos suportados
- TaskBlock: O mágica O Skyvern navega pelos sites para realizar ações e/ou extrair informações.
- ForLoopBlock
- CodeBlock
- TextPromptBlock
- DownloadToS3Block
- UploadToS3Block
- SendEmailBlock
- FileParserBlock
Entradas do bloco de tarefas
- URL (geralmente obrigatório). O ponto de partida para o Skyvern Agent é, idealmente, o site de destino que você deseja automatizar.
- Na tela de fluxo de trabalho, se essa entrada for deixada em branco, ela continuará de onde o nó anterior parou. A finalidade do destino de navegação é definir ou redefinir o ponto inicial do agente.
- Se você tiver feito login em um site no primeiro bloco de tarefas, talvez queira deixar o URL em branco no segundo bloco para continuar depois de ter feito login
- Objetivos de navegação (geralmente obrigatório). Uma descrição detalhada de onde o Skyvern está navegando e quais ações estão sendo executadas. Uma meta de navegação clara deve ser um único objetivo dividido em etapas. Evite fornecer várias metas. Você precisa usar "COMPLETE" para especificar a conclusão da meta ou "TERMINATE" para abortar a meta!
- O alvo de navegação não é usado para carregar URLs; exigir que o Skyvern "Visite o site A" nesse campo não terá o efeito desejado!
- O encerramento da operação fará com que o Skyvern explique por que a navegação foi interrompida
- Você pode omitir esse campo se quiser apenas que o Skyvern extraia dados sem navegar para outro local
- Objetivos da extração de dados (Opcional). Há algum dado extraído e retornado pelo Skyvern que não seja a posição e as ações de navegação do Skyvern? Bons objetivos de extração de dados devem especificar quais dados o Skyvern retorna ao usuário
- Observe que a extração de dados só ocorre depois que o Skyvern tiver concluído a navegação!
- Modo de extração de informações (Opcional). Se você tiver objetivos de extração de dados, alguns usuários poderão precisar dos dados em um formato específico para fins internos. A carga de navegação aceita a especificação do formato JSON para a formatação de retornos de dados
- Número máximo de etapas cobertas (Opcional). Alguns usuários querem limitar os custos pelo número de etapas de uma tarefa
- Número máximo de novas tentativas (Opcional). Número de novas tentativas permitidas se uma etapa falhar
- Download concluído e pronto (Opcional). Permitir que o Skyvern conclua tarefas após o download do arquivo
- Sufixo do arquivo (Opcional). Identificadores anexados aos arquivos baixados
- URL TOTP e identificador TOTP (Opcional). Se você tiver um sistema interno que possa armazenar o código TOTP para 2FA, esse URL chamará esse armazenamento. O identificador associa o código à tarefa, o que é importante se você estiver executando várias tarefas ao mesmo tempo. Se você quiser configurar a aquisição de 2FA em um fluxo de trabalho, o Entre em contato conosco.
- parâmetros (Opcional). Os parâmetros são espaços reservados personalizados que especificam a execução. Eles podem ser parâmetros de fluxo de trabalho, passados por meio de uma chamada de API ou parâmetros de saída obtidos de um bloco de tarefas anterior. Se especificados, esses parâmetros serão usados pelo Skyvern para auxiliar a navegação, preencher formulários ou influenciar ainda mais as ações no site.
Fluxo de uso da API de tarefas (exemplo)
A API Tasks está totalmente documentada em
- Criação de tarefas::
- Crie uma tarefa por meio do ponto de extremidade da API, especificando o URL de destino e o destino da operação.
- Exemplo de solicitação:
{ "url": "https://example.com", "navigation_goal": "Preencher o formulário e enviá-lo", "data_extraction_goal": "Extrair a mensagem de confirmação após o envio" }
- Tarefas de monitoramento::
- Use o recurso de monitoramento em tempo real fornecido pelo Skyvern para ver o desempenho das tarefas.
- Acesso via navegador
http://localhost:8080
Visualizar operações em tempo real.
- extração de dados::
- Especifique o modo e o formato de extração de dados, e o Skyvern extrairá e retornará os dados automaticamente.
- Exemplo de solicitação:
{ "url": "https://example.com/data", "data_extraction_schema": { "name": "string", "email": "string", "phone": "string" } }
- Download de arquivos::
- Especifique o destino do download do arquivo e o Skyvern fará o download automático do arquivo e fornecerá o link de download.
- Exemplo de solicitação:
{ "url": "https://example.com/files", "file_download_goal": "Baixar todos os arquivos PDF" }
problemas comuns
- Como a autenticação é tratada? O Skyvern oferece suporte a vários métodos de autenticação, incluindo a integração com o gerenciador de senhas e a autenticação multifator (2FA). Ao criar uma tarefa, o
navigation_payload
Forneça informações de identificação. - Como você lida com fluxos de trabalho complexos de várias etapas? O Skyvern suporta o encadeamento de várias tarefas em um fluxo de trabalho, executando cada tarefa sequencialmente por meio de endpoints de API para concluir processos operacionais complexos.