Langflow - ビジュアル AI エージェント& RAG ビルダーチートシート
Langflow はオープンソースの Python ベースビジュアルビルダーLLM アプリケーション用です。エージェント、チェーン、RAG パイプラインをキャンバスにコンポーネントをドラッグアンドワイアしてアセンブリし、ライブプレイグラウンドでテストしてから、任意のフローを API または MCP エンドポイントとして公開します。モデルに依存しない(OpenAI、Anthropic、Ollama 経由のローカルモデルなど)で、LangChain エコシステムに基づいています。
Installation
| Method | Command |
|---|
| uv(推奨) | uv pip install langflow |
| pip | pip install langflow |
| インストール後実行 | langflow run(または python -m langflow run) |
| uvx(インストールなし) | uvx langflow run |
| Docker | docker run -it --rm -p 7860:7860 langflowai/langflow:latest |
| デスクトップアプリ | 公式サイトからダウンロード(macOS/Windows) |
Python 3.10–3.13 が必要です。langflow run 後、http://localhost:7860 を開きます。
Running the Server
| Command | Description |
|---|
langflow run | UI + API を 127.0.0.1:7860 で開始 |
langflow run --host 0.0.0.0 --port 7860 | すべてのインターフェース / カスタムポートにバインド |
langflow run --env-file .env | ファイルから環境変数をロード |
langflow run --dev | 開発者/ホットリロードモード |
langflow --help | フル CLI リファレンス |
langflow api-key | プログラムアクセス用の API キーを作成 |
langflow migration | データベースマイグレーションを実行 |
Core Concepts
| Term | Meaning |
|---|
| Flow | 接続されたコンポーネントのグラフ = 1 つのアプリ/パイプライン |
| Component | ノード(モデル、プロンプト、レトリーバー、ツール、エージェント、I/O) |
| Port / Edge | コンポーネント間の型付き入出力接続 |
| Playground | フローをインタラクティブにテストするための組み込みチャット/実行パネル |
| Project | 複数のフローをグループ化するワークスペース |
| Global Variables | フロー全体で再利用可能に格納されたシークレット(API キー) |
Building Blocks
| Category | Examples |
|---|
| 入力/出力 | Chat Input、Chat Output、Text Input |
| モデル | OpenAI、Anthropic、Google、Ollama、Groq、HuggingFace |
| プロンプト | プロンプトテンプレート、システムメッセージ |
| データ / RAG | ファイルローダー、URL、Split Text、Vector Store(Chroma、Qdrant、Astra、pgvector)、Embeddings |
| エージェント | ツール呼び出し機能を備えたエージェントコンポーネント |
| ツール | Web 検索、Python REPL、API リクエスト、MCP ツール |
| Logic | 条件付きルーター、ループ、パススルー |
Typical RAG Flow
File / URL → Split Text → Embeddings → Vector Store (ingest)
Chat Input → Vector Store (search) → Prompt → Model → Chat Output
キャンバスに構築し、Playground を開き、質問をして、Langflow がグラフを最後まで実行します。
Using Flows from Code
すべてのフローは自動生成 API を取得します。UI から API(または Share → API access)をクリックしてスニペットをコピー:
import requests
url = "http://localhost:7860/api/v1/run/<FLOW_ID>"
payload = {"input_value": "What is in my docs?", "output_type": "chat", "input_type": "chat"}
headers = {"x-api-key": "<YOUR_API_KEY>", "Content-Type": "application/json"}
resp = requests.post(url, json=payload, headers=headers)
print(resp.json())
# curl で同じ呼び出し
curl -X POST "http://localhost:7860/api/v1/run/<FLOW_ID>" \
-H "x-api-key: <YOUR_API_KEY>" -H "Content-Type: application/json" \
-d '{"input_value":"hello","output_type":"chat","input_type":"chat"}'
MCP Integration
| Capability | How |
|---|
| フローを MCP ツールとして公開 | 各プロジェクトは MCP サーバーを発送します。MCP クライアント(Claude Desktop、Cursor)がそれをポイント |
| 外部 MCP ツールを消費 | MCP Tools コンポーネントを追加してサーバー URL/コマンドに接続 |
Environment & Config
| Variable | Purpose |
|---|
LANGFLOW_HOST / LANGFLOW_PORT | バインドアドレスとポート |
LANGFLOW_DATABASE_URL | デフォルト SQLite の代わりに Postgres を使用 |
LANGFLOW_AUTO_LOGIN=false | ログインが必要です(マルチユーザー) |
LANGFLOW_SUPERUSER / LANGFLOW_SUPERUSER_PASSWORD | 管理者アカウントをシード |
LANGFLOW_SECRET_KEY | 格納された認証情報の暗号化キー |
OPENAI_API_KEY、ANTHROPIC_API_KEY など | プロバイダーキー(またはグローバル変数として設定) |
Import / Export
| Action | How |
|---|
| フローをエクスポート | フローメニュー → Export → .json |
| フローをインポート | New → Import .json |
| バージョン管理 | 「.json をリポジトリにコミット」 |
Common Workflows
# Postgres + 認証でサーバー上でチームのために回転
LANGFLOW_DATABASE_URL=postgresql://user:pass@db:5432/langflow \
LANGFLOW_AUTO_LOGIN=false \
langflow run --host 0.0.0.0 --port 7860
# 一時的なローカルトライアル、インストールなし
uvx langflow run
Langflow vs Dify vs n8n
| Aspect | Langflow | Dify | n8n |
|---|
| フォーカス | LangChain スタイルのフロー& エージェント | LLMOps アプリプラットフォーム(RAG、プロンプト) | 一般的な自動化 + AI ノード |
| スタイル | ビジュアルキャンバス | アプリ + ワークフロースタジオ | ワークフロー自動化 |
| エンドポイント | API + MCP | API + チャットアプリ | Webhook/自動化 |
| 最適な対象 | エージェント/RAG グラフのプロトタイピング | LLM アプリを操作出荷 | 500 以上のサービス全体の接着 |
Resources