デモ
前提
- Docker
- GeminiのAPIキー
- 以下のリポジトリのclone
構築方法
コンテナの起動
# 1. バックエンドの `.env` を作成
cp backend/.env.template backend/.env
# 2. 以下のページからGeminiのAPIキーを取得し、貼り付け
# https://aistudio.google.com/app/api-keys
# 3. フロントエンドの `.env` を作成
cp n8n-local/.env.template n8n-local/.env
# 4. コンテナ起動
docker compose up --build
n8nの初期設定
アカウント作成
何も入力せずに「Get started」をクリック
「Skip」をクリック
完了画面
ワークフローの作成
- 右上の3点ボタンから「Import from file...」をクリック
-
my_workflow.jsonを選択
手作業で作成する場合
手順①
- Add first step をクリック
- 検索欄に「chat」
- On new Chat event をクリック
- 何もしないで右上の×を押す
手順②
- 右の + ボタンをクリック
- HTTP Requestを選択
- 以下を入力
- Method:
Post - URL:
http://backend:8000/api/v1/mock-agent - Send Body: ONにする
- Body Parameters: 計2組を設定
- Name:message, Value:{{ $json.chatInput }}
- Name:agent_type, Value:translation
- Method:
chatに「こんにちは」と打って、Helloと返ってきたら成功
手順③
- 右の + ボタンをクリック
- HTTP Requestを選択
- 以下を入力
- Method:
Post - URL:
http://backend:8000/api/v1/mock-agent - Send Body: ONにする
- Body Parameters: 計3組を設定
- Name:message, Value:{{ $json.response }}
- Name:agent_type, Value:kansai
- Name:session_id, Value:{{ $json.session_id }}
- Method:
手順④
博多弁エージェントは、関西弁エージェントをコピーし、Body Parametersの agent_type を hakata に変更する。
chatに「こんにちは、いい天気ですね」と入力し、最終的に博多弁で返ってきたら成功
技術的な解説
コンテキストの引き継ぎ
各エージェントはAPIとして呼び出されているが、通常この場合だと、前のエージェントのコンテキストを引き継ぐことはできない。そこで、APIのリクエストとレスポンスにセッションIDを加え、それをバケツリレーすることで、コンテキストを引き継いでいる。
分岐やループ
n8nにはデフォルトで条件分岐やループなどのノードも用意されている。これらを導入することで、よりリッチなワークフローを組むことができる。





