はじめに
FlockはGitHubでホストされているオープンソースのワークフロー・ローコードプラットフォームで、Onelevenvyチームによって開発されている。LangChainと ラングラフ Flockは、ユーザーがチャットボット、検索拡張世代(RAG)アプリケーションを素早く構築し、マルチエージェントチームを調整することを支援することに重点を置いた技術です。Flockは、柔軟なワークフロー設計により、プログラミングが苦手なユーザーでもインテリジェントなアプリケーションを簡単に作成することができます。条件ロジック、コード実行、マルチモーダルダイアログなどの豊富なノード機能をサポートしており、ビジネスオートメーション、データ処理、その他のシナリオに広く適用できます。このプロジェクトでは、ReactやNext.jsなどのフロントエンド技術を使用し、バックエンドはPostgreSQLに依存しているため、技術スタックはモダンで拡張が容易です。現在、FlockはGitHub上の活発なコミュニティによってサポートされており、開発者の間で非常に人気がある。
機能一覧
- ワークフロー・オーケストレーション:: ノードをドラッグ&ドロップして複雑なワークフローを設計し、マルチエージェントのコラボレーションとタスク処理をサポートします。
- チャットボット構築自然言語での対話をサポートし、テキストや画像の入力を処理できるチャットボットを迅速に作成できます。
- RAG申請サポート文書から情報を抽出し、回答を生成するための検索機能拡張生成を統合。
- 条件付き論理制御If-Elseノードを使用して分岐ロジックを実装し、入力に基づいて動的にフローを調整します。
- コード実行能力データ処理やカスタムロジックを実行するためのPythonスクリプトノードを内蔵。
- マルチモーダルインタラクション対話の柔軟性を高めるため、画像などのマルチモーダル入力をサポート。
- サブワークフローのカプセル化: サブグラフノードにより複雑な処理を再利用することで開発効率を向上。
- 人的介入ノードLLMの出力やツールコールの結果を手動でレビューできるようにする。
- 意図認識:: ユーザー入力意図の自動認識と多カテゴリルーティング。
ヘルプの使用
設置プロセス
FlockはDockerベースのローカルデプロイツールで、実行には特定の環境設定が必要だ。ここでは、確実に始めるための詳細なインストール手順を説明する。
1.環境を整える
- DockerのインストールWindows/MacユーザーはDockerの公式ウェブサイトから、Linuxユーザーは以下のコマンドを実行してください:
sudo apt update && sudo apt install docker.io sudo systemctl start docker
- Gitのインストールインストール方法については、Gitのウェブサイトを参照してください。
- パイソンのチェック鍵の生成にはPython 3.8以上が必要です:
python --version
2.プロジェクトのクローン化
ターミナルを開き、以下のコマンドを実行してFlockのソースコードを取得します:
git clone https://github.com/Onelevenvy/flock.git
cd flock/docker
3.環境変数の設定
例の設定ファイルをコピーし、修正する:
cp ../.env.example .env
見せる .env
ファイルのデフォルト値を変更する。 changethis
鍵を安全なものに交換する。以下のコマンドで鍵を生成する:
python -c "import secrets; print(secrets.token_urlsafe(32))"
生成された結果を .env
例えば、このような文書である:
SECRET_KEY=your_generated_key_here
4.サービスの活性化
Docker Composeを使ってFlockを起動する:
docker compose up -d
ローカルでイメージをビルドする必要がある場合は、まずそれを実行してください:
docker compose -f docker-compose.localbuild.yml build
docker compose -f docker-compose.localbuild.yml up -d
起動に成功すると、Flock はデフォルトで http://localhost:3000
.
使用方法
インストールが完了したら、ブラウザからFlockにアクセスし、その機能を使い始めることができます。以下に主な機能の使い方を詳しく説明します。
特徴1:チャットボット作成
- 作業台へのアクセスブラウザを開き
http://localhost:3000
ログイン画面(初めての方は登録が必要な場合があります。) - 新しいワークフロー新規プロジェクト」をクリックし、「チャットボットテンプレート」を選択します。
- ノードの追加:
- ユーザーメッセージを受信するためにInput Nodeをドラッグします。
- LLMノード」を接続して自然言語を処理し、モデルをバインドする(LangChain経由で設定されたOpenAI APIなど)。
- 結果を返す「出力ノード」を追加する。
- 構成モデルLLMノードの設定でAPIキーとモデルパラメータを入力します。
- 試運転実行」ボタンをクリックして、"Hello, what's the weather like today? "と入力してください。ボットの返事を見る。
機能2:RAGアプリケーションの構築
- 書類の準備取得 し たい文書 (PDF 等) を作業デ ィ レ ク ト リ にア ッ プ ロ ー ド 。
- デザインプロセス:
- File Inputノードを追加して、ドキュメントのパスを指定します。
- RAGノードに接続し、検索パラメータ(ベクターデータベースなど)を設定します。
- LLMノード」にリンクしてレスポンスを生成する。
- 動作試験"文書の中で最も言及されているキーワードは何ですか?" のような質問を入力します。結果を見る
- 最適化:: 回答の精度を上げるために、検索範囲やモデルのパラメータを調整する。
特徴3:マルチエージェントコラボレーション
- チームを作る:: エージェント管理で複数のエージェントロール(例:データアナリスト、カスタマーサービス)を追加します。
- タスク:
- ワークフローノード "を使用して、各エージェントのタスク(データの分析、ユーザーへの対応など)を定義する。
- エージェント間のコミュニケーションを調整する「コラボレーション・ノード」を追加。
- 実行例:: 「販売データを分析し、レポートを作成する」というタスクを入力し、エージェントが協力してそのタスクを完了するのを観察する。
機能4:条件ロジックとコード実行
- If-Elseノードの追加:
- If-Elseノードをドラッグし、条件を設定する(例:"Input contains 'Sales'")。
- 例えば、「はい」は「データ分析」、「いいえ」は「再入力を促す」。いいえ」は「再入力を促す」を指す。
- コード・ノードの挿入:
- Pythonノード」を追加し、スクリプトを入力する:
def process_data(input): return sum(map(int, input.split(',')))
- 入力された数値の合計を計算するために使用される。
- Pythonノード」を追加し、スクリプトを入力する:
- 試験1,2,3 "を入力し、結果が "6 "であることを確認する。
機能5:人間の介入
- 手動ノードの追加:: ワークフローに "manual intervention node "を挿入。
- 構成の見直しLLM出力を監査するように設定し、保存して実行する。
- リグ変更内容を入力して続行します。
ほら
- ネットワーク要件Dockerネットワークが開いていることを確認し、外部モデルAPIを使用している場合はプロキシを設定します。
- パフォーマンス最適化ローカルランタイム用に、少なくとも4GBのメモリをDockerに割り当てることを推奨します。
- ログビュー問題が発生した場合は
docker logs <container_id>
エラーをチェックする。
これらのステップを踏めば、Flockを使ってチャットボットを構築し、複数のエージェントとコラボレーションし、そのローコードを最大限に活用することができます!