👓

【Langflowの知っておきたいシリーズ: 1】Langflowの導入

に公開

ℹ️Langflowとは何か

Langflowとは、Datastaxが開発したオープンソースのローコードのAIアプリケーションを構築できるツールです。ベースとなっているのは生成AI業界で有名なLangchainとPythonを利用しており、生成AIの開発者でも未経験の方でも直感的にアプリケーションを組み立て、アイデアの検証ができます。

⚡️主な特徴

Langflowの主な特徴は以下のようなものが考えられます。

ビジュアルビルダー

  • React-Flow ベースのドラッグ&ドロップ UI で、LLM、プロンプトテンプレート、エージェント、ベクターストアなどのコンポーネントをキャンバス上に配置・接続できます
  • ノードごとの入出力をリアルタイムにプレビュー可能で、フローの動作検証を即座に行えます。

コードエクスポート & API 化

  • 作成したフローは Python コードや JSON/YAML としてエクスポートでき、そのままアプリケーションへ組み込み可能です。
  • 内蔵 API サーバーにより、各エージェントを REST API エンドポイントとしてデプロイできる機能も備わっています 。

多彩なプロバイダ & プラグイン

  • OpenAI、Anthropic、Watsonx.AI など主要な LLM プロバイダをサポートします。

  • FAISS、Chroma などのベクターデータベースをプラグイン感覚で利用可能です。

拡張性・監視機能

  • LangSmithやLangfuseなどと連携した観測性機能が実装され、フローのメトリクス収集やエラー追跡が行えます。

オープンソース

  • LangflowはOSS尚且つセルフホスティングが可能であるため、エンタープライズのユースケースにも適応可能です。

📺Langflowのデモ

それでは、Langflowを活用した簡単なデモを作っていきたいと思います。

Langflowのインストール&導入

【開発者向け】

  • もしPythonのパッケージマネジメントツールであるuvpipが既にインストールされていたら、以下のコマンドで簡単にインストールできます。
# インストール
uv pip install langflow

# 実行
uv run langflow run
  • LangflowはDockerコンテナとしても公開されているので、こちらを利用してセルフマネージド環境で導入可能です。
# Github Repoをクローンする
git clone https://github.com/langflow-ai/langflow.git

# フォルダに遷移
cd langflow/docker_example

# Langflowを起動
docker compose up

【一般ユーザー向け】

  • Datastax社が提供しているフルマネージド版を利用できます。
  • macOSをお持ちな方は、macOSアプリLangflow Desktopを最近公開されたので、そちらも利用可能です。

https://docs.langflow.org/get-started-installation#install-and-run-langflow-desktop

起動画面

http://127.0.0.1:7860 にアクセスすると、Langflowの画面が表示されます。
画面の指示に従い、新しい「Flow(フロー)」を作成し、新たなAIアプリケーションを構築できます。

「Flow」の作成

今回作成するのは、極めてシンプルなAIチャットボットです。

以下の3つのコンポーネントで構成されます。

  1. Chat Input: ユーザーが入力できる
  2. Agent: LLMのPromptを定義し、入力された文字列をLLMに渡す
  3. Chat Output: LLMが生成した結果を表示する

右上のPlaygroundから、早速先ほど作成したアプリケーションを試してみましょう。

想定通り、関西弁のおじさま(?)と会話ができるようになりました。

アプリケーションの公開

では、作成したアプリケーションを公開したいと思います!
右上のPublishボタンをクリックし、アプリケーションを公開することがきます。

公開方法は基本的に以下の2つがあり、ユースケースに合わせて柔軟に対応できます。

  1. API経由
  2. 埋め込みコンポーネント

【1. API経由】

API access を選択し、表示される呼び出し方法でアプリケーションと接続が可能になります。

【2. 埋め込みコンポーネント】

Embed into site を選択すると、HTMLコードが表示されます。そのコードを好きなHTMLページに追加することで、作成したアプリケーションとの接続が可能になります。

❓なぜこれが重要なのか

Langflowは、ドラッグ&ドロップのビジュアルエディタでコード不要のワークフロー設計を実現し、開発者以外にもAIアプリケーションの構築が可能になります。リアルタイムの構築によりプロトタイプの反復サイクルを劇的に短縮し、今まで1ヶ月と要する作業が1時間できるようになりました。これによりAIで解決したい課題に注力することができ、お客様に提供する価値が高めると期待されています。

💣次回予告!

この記事は、Langflowをテーマとしたシリーズの1番目のものです。

  • LangflowとVectorDB&RAG
  • Langflowの監視&モニタリング
  • LangflowとMCP& Tools
    などを公開する予定です。

ぜひご期待ください!

📄【Appendix】参考記事

Discussion