はじめに
Skyvernは、ラージ・ランゲージ・モデリング(LLM)とコンピュータ・ビジョンのテクニックを使ってブラウザのワークフローを自動化するツールです。シンプルなAPIエンドポイントを提供することで、壊れやすかったり信頼性の低い自動化ソリューションに取って代わることができます。Skyvernは、カスタムコードなしでワークフローを完了するために必要なアクションにビジュアルエレメントを自動的にマッピングし、見たことのないウェブサイト上で動作させることができます。
スカイバーンは、ビジョン機能を備えたBabyAGIやAutoGPTのようなもので、複数のエージェントがタスクの目標について考え、行動するプロセスを完全に自動化する。
スカイバーン機能一覧
- ブラウザワークフローの自動化LLMとコンピュータビジョン技術により、ブラウザの様々なタスクを自動化します。
- APIエンドポイント統合や呼び出しが簡単なシンプルなAPIインターフェースを提供します。
- カスタムコード不要サイトごとにカスタムスクリプトを書く必要はありません。
- ウェブレイアウトの変更に抵抗する固定されたXPathやセレクタに依存せず、ページレイアウトの変更にも対応できます。
- 大規模アプリケーション1つのワークフローを複数のサイトに適用する機能。
- インテリジェント・インタラクション複雑な相互作用のシナリオを扱うためのLLMによる推論。
ヘルプの使用
設置プロセス
- 環境準備::
- Python 3.11以上がインストールされていることを確認してください。
- ポエトリーの依存関係管理ツールをインストールする。
- PostgreSQLデータベースをインストールします。
- Node.js環境をインストールする。
- Dockerのワンクリックデプロイをサポート
- クローンソースコード::
git clone https://github.com/skyvern-ai/skyvern.git cd skyvern
- 依存関係のインストール::
./setup.sh
- 環境変数の設定::
- 修正
環境
ファイルに、必要なAPIキーと設定パラメータを入力する。
- 修正
- サービス開始::
docker-compose up -d
可視化タスク
スカイバーンが表示する情報の見方
結果の視覚化
Skyvernには、タスクのパフォーマンスを把握するための視覚化ツールが用意されています。まず、タスク履歴ページに移動し、任意のタスクをクリックして表示します。
リグ
Skyvernが実行した各アクションは、アクションビューアで確認でき、アクション実行後の画面状態のスクリーンショットが添付されています。
録る
各Skyvernタスクには、操作全体(エンドツーエンド)の録画が含まれています。録画を表示するには、[録画]タブをクリックします。
ミッション・パラメーター
タスクパラメーターとは、Skyvernに提供する入力のことで、URLや抽出ルール、その他の関連情報が含まれます。
診断ログ
診断]タブには、注釈付きスクリーンショット、アクションスクリーンショット、要素ツリー、ヒント、アクションリスト、ページHTML、生のLarge Language Model(LLM)リクエストなど、Skyvernが処理に使用する情報が含まれています。
ワークフロー
ワークフロー - 複数のタスクをリンクさせる
ワークフローとは、複数のデータの塊を連携させることを意味する。複数のタスクを連続して実行したり、条件ロジックを実行したり、データをCSVに抽出したりすることを想像してみてください。これらのアイデアはすべてワークフロー機能でサポートされます。
私たちのワークフローはすべて ヤムル しかし、新しいバージョンでは、複数のコンポーネントをリンクして定義された出力を生成できるグラフィカル・インターフェースを提供する。
対応モジュール
- タスクブロック マジック スカイバーンはウェブサイトをナビゲートし、アクションを起こしたり、情報を抽出したりします。
- ForLoopBlock
- コードブロック
- テキストプロンプトブロック
- ダウンロード
- UploadToS3ブロック
- 送信メールブロック
- ファイルパーサー・ブロック
タスク・ブロック入力
- URL (通常は必須)。 Skyvernエージェントの出発点は、理想的には、自動化したい対象のウェブサイトです。
- ワークフロー画面では、この入力が空白のままであれば、前のノードが停止した場所で続行されます。ナビゲーションターゲットの目的は、エージェントの開始点を設定またはリセットすることです。
- 最初のタスクブロックでサイトにログインした場合、ログイン後に続けるために、2番目のブロックではURLを空白のままにしておくとよいだろう
- ナビゲーションの目的 (通常は必須)。 Skyvernがナビゲートしている場所と、実行されているアクションの詳細な説明。明確なナビゲーションのゴールは、ステップに分かれた単一の目的であるべきです。複数のゴールを設定することは避けてください。ゴールの完了を指定するには "COMPLETE"、ゴールの中止を指定するには "TERMINATE "を使用する必要があります!
- ナビゲーションターゲットはURLの読み込みには使用されません。このフィールドでSkyvernに「サイトAを訪問」を要求しても、望ましい効果は得られません!
- 操作を終了すると、スカイバーンはナビゲーションが停止した理由を説明します。
- Skyvernが別の場所に移動することなくデータを抽出したい場合、このフィールドは省略できます。
- データ抽出の目的 (オプション)。 Skyvernのナビゲーション位置とアクション以外に、Skyvernが抽出して返すデータはありますか?優れたデータ抽出の目的は、Skyvernがユーザーにどのようなデータを返すかを指定することです。
- データの抽出は、スカイバーンがナビゲーションを完了した後に行われることにご注意ください!
- 情報モデルの抽出 (オプション)。 データ抽出の目標がある場合、一部のユーザーは内部目的のために特定の形式でデータを必要とすることがあります。ナビゲーション・ロードは、データをフォーマットするためのJSONフォーマット仕様を受け入れます。
- 最大カバーステップ数 (オプション)。 タスクのステップ数でコストを制限したいユーザーもいる
- 最大リトライ回数 (オプション)。 ステップが失敗した場合に許容される再試行回数
- ダウンロード完了 (オプション)。 ファイルのダウンロード後にSkyvernがタスクを完了できるようにする
- ファイルの接尾辞 (オプション)。 ダウンロードしたファイルに付けられた識別子
- TOTP URLとTOTP識別子 (オプション)。 2FA用のTOTPコードを保存できる内部システムがある場合、このURLはそのストレージを呼び出す。識別子はコードとタスクを関連付け、これは複数のタスクを同時に実行する場合に重要である。ワークフローで2FA取得をセットアップしたい場合 お問い合わせ.
- パラメトリック (オプション)。 パラメータは実行を指定するカスタムプレースホルダである。ワークフローパラメーター、APIコールで渡されるパラメーター、前のタスクブロックから取得した出力パラメーターなどがあります。指定された場合、これらのパラメーターはSkyvernによって使用され、ナビゲーションを補助したり、フォームに入力したり、サイト上のアクションに影響を与えたりします。
タスクAPI利用フロー(例)
- タスクの作成::
- APIエンドポイントを通じて、ターゲットURLと操作対象を指定してタスクを作成する。
- リクエスト例
{ "url": "https://example.com"、 "navigation_goal": "フォームに入力して送信する"、 "data_extraction_goal": "送信後の確認メッセージを抽出する" }
- 監視タスク::
- スカイバーンが提供するリアルタイムモニタリング機能を使って、タスクの実行状況を確認しましょう。
- ブラウザからのアクセス
http://localhost:8080
リアルタイムのオペレーションを見る
- データ抽出::
- データ抽出モードとフォーマットを指定すると、Skyvernが自動的にデータを抽出して返します。
- リクエスト例
{ "url": "https://example.com/data"、 "data_extraction_schema":{」。 "name": "string"、 "email": "string"、 「電話番号": "文字列" } }
- ファイルダウンロード::
- ファイルのダウンロード先を指定すると、Skyvernが自動的にファイルをダウンロードし、ダウンロードリンクを提供します。
- リクエスト例
{ "url": "https://example.com/files"、 "file_download_goal": "全てのPDFファイルをダウンロードする" }
一般的な問題
- 認証はどのように行われますか? Skyvernは、パスワードマネージャーとの統合や多要素認証(2FA)など、複数の認証方法をサポートしています。タスクを作成する際に
ナビゲーションペイロード
識別情報を提供する。 - 複雑なマルチステップのワークフローをどのように処理しますか? Skyvernは、複数のタスクをワークフローにひも付け、APIエンドポイントを通じて各タスクを順次実行し、複雑な業務プロセスを完了することをサポートします。