Skip to content

DNET_LangFlow

nishi_74322014 edited this page Sep 11, 2026 · 2 revisions

LangFlow

概要

  • LangChainをGUIで構築できるようにしたツールでGUIはreact(react-flow)。
  • インストールは簡単、pipでinstallして実行するだけ(実際は uv(Pythonの該当節を参照)の導入が必要)。
  • GUIデザイナのテンプレートでレシピを迅速に実装&評価できるところが◎。
  • GUIデザイナは便利だが、複雑な処理にはコードベースでの開発が必要。
  • LangChain に依存しているため、LangChain 自体の人気や普及度が LangFlow の人気に影響。

開発元情報

  • 開発の初期段階では、Logspaceというチームが関与

  • 2024年4月、DataStaxがLangflowの開発元であるLogspace社を買収

    • DataStaxは、Apache Cassandra の 開発元。
    • 生成AI事業に舵を切った結果、OSS PJのPOになっている。
    • Astra DBサービスにベクトル検索機能を統合、RAG支援アプリGenAIの開発を強化
  • 2025年3月、IBMがDataStaxを買収

    • LangFlowはIBMのwatsonxプラットフォームとの連携を強化する方向。
    • エンタープライズ向けの生成AIソリューションとしての位置付けがさらに強まった。
    • 今後はさらにエンタープライズ向けの機能強化が進むと予想される。

インストール

WSL2 Ubuntu 24.04 LTS 2025/1/21の該当節を参照。

get-started-installation

参考:https://docs.langflow.org/get-started-installation

インストールの補足

  • 特定のバージョンをインストール

    uv pip install langflow==1.3.2
    
  • 依存関係を再インストール

    uv pip install langflow --force-reinstall
    
  • 機能拡張オプションの依存関係グループ

    uv pip install "langflow[deploy,local,postgresql]"
    

詳細

デザイナ

見た感じ以下のような区分のノードとエッジ(接続)をD&Dしてプロンプト・フローを構成する。

ノード

基本的(ノード)

  • Prompts

  • Models

  • Inputs and outputs

  • Memories

  • Logic

  • Processing

  • RAG系

    • Data
    • Loaders
    • Embeddings
    • Vector stores
  • 機能的

    • Tools
    • Retrievers
    • Agents
    • Prototypes
    • Create custom Python components

バンドル

(より機能的)

  • LangChain
  • AssemblyAI
  • DataStax
  • Notion
  • NVIDIA
  • Google
  • CrewAI
  • NotDiamond
  • Composio
  • Cohere
  • Firecrawl
  • Unstructured
  • Git
  • Confluence

準備

インストール&起動の手順は WSL2 Ubuntu 24.04 LTS 2025/1/21を参照。

※ ハマるので最新の公式を見るべきか:
  https://docs.langflow.org/get-started-installation

利用

LLM

プロンプトをLLMに投げるだけ。

  • システム・メッセージはサポートされるがChat履歴はサポートされていない。

  • 参考:クイックスタート1(「LangFlowファースト・ステップ的な」は元 Wiki 側にページの実体が無いリンク)

RAG(利用)

基本的なRAGの処理だが、

  • DataStaxやMilvusなどのIndexライブラリと言うよりサービスが必要になる。

  • ローカルで実行する場合は、LlamaIndexとの連携機能はないが、Chroma DBを使用できる。

  • 参考:クイックスタート2(「LangFlowファースト・ステップ的な」は元 Wiki 側にページの実体が無いリンク)

Agent(利用)

簡単なAgentを実行してみる。

  • Agentツール類を接続するだけ。
  • 参考:クイックスタート3(「LangFlowファースト・ステップ的な」は元 Wiki 側にページの実体が無いリンク)

Chat履歴

上記にチャット履歴を追加してみる。

  • My Projectsに移動し、新規作成プロジェクト的な事をする。

  • Templates:Get started → All templatesに変更する。

  • All templatesから「Memory Chatbot」を選択する。

  • OpenAIノードにOpenAI WebAPIのキーを設定して実行するだけ。

  • Basic Prompting と比較すると、Chat MemoryがPromptのMemoryに接続されていることが解る。

  • Chat Memoryは、Memorys項のノードか?Mem0 Chat Memoryとも違うようだが?(謎)

  • このChat Memoryを削除すると、Basic Prompting と同じ動作になる。

  • ちなみに、Basic Prompting 化には、厳密に言うと、システム・メッセージの変更も必要。

  • Chat履歴の参考:https://qiita.com/ksonoda/items/b243dbfcfe18548ce98c

トレーシング

ログ

プロジェクト名がDDLになっていて、その中の「Logs」から各ノードのI/Oを参照可能。

ターミナル出力

  • 「Entering new X chain...Finished chain.」の間のchainのlogが出力される。
  • chainとは、追加されたコンポーネントをまとめて実行するコンテナのようなもの。
  • LangFlowのノードがchainなどのコードで実装されているので、chainはノードより小さい粒度。

監視ツール

  • LangFuse、LangSmith、LangWatch(初めて聞いた)と連携できる。
  • 起動時に環境変数 'LANGFUSE_PUBLIC_KEY' が指定されていないため、Langfuseは無効。と表示される。

WebAPI

WebAPI経由での機能提供

cURL

  • APIのcURLからスニペットを取得できる。
  • Tweaksで送信時のデータを入力しcURLに戻るとスニペットが更新されている。

Chat Widget HTML

APIのChat Widget HTML からスニペットを取得できる。

認証

ログイン画面&APIキー作成が可能。

コンポーネント一覧

基本的(コンポーネント)

  • Inputs

    • Chat Input
    • Test Input
  • Prompts

    • Prompt
  • Models

    • AIML Models
    • Amazon Bedrock
    • Anthropic
    • Azure OpenAl
    • Cohere
    • Google Generative Al
    • Groq
    • HuggingFace
    • LM Studio
    • Maritalk
    • MistralAl
    • NVIDIA
    • Ollama
    • OpenAl
    • Perplexity
    • Qianfan
    • Vertex Al
  • Outputs

    • Chat Output
    • Test Output
  • Memories

    • DS Astra DB Chat Me... Input
    • Cassandra Chat M...
    • Memo Chat Memory
    • Redis Chat Memory
    • Zep Chat Memory
  • Logic

    • Condition
    • Flow as Tool
    • If-Else
    • Listen
    • Notify
    • Pass
    • Run Flow
    • Sub Flow
  • Processing

    • Combine Text
    • Create Data
    • Extract Key
    • Filter Data
    • Filter Values
    • JSON Cleaner
    • Merge Data
    • Message to ...
    • Parse Data
    • Parse JSON
    • Select Data
    • Split Text Input
    • Update Data
  • Helpers

    • Create List
    • Current Date
    • ID Generator
    • Message History
    • Output Pa...
    • Store Message
    • Structured Output

RAG系(コンポーネント)

  • Data

  • Loaders
    Bundleに格納されているとのこと。

  • Embeddings

    • AI/ML Embeddings
    • Amazon Bedrock E...
    • Astra Vectorize [DE...
    • Azure OpenAl Emb...
    • Cohere Embeddings
    • Embedding Similarity
    • Input Value Hello, World!
    • Google Generative
    • HuggingFace Emb...
    • LM Studio Embed...
    • MistralAl Embeddin...
    • NVIDIA Embeddings
    • Ollama Embeddings
    • OpenAl Embeddings
    • Text Embedder
    • VertexAl Embeddin...
  • Vector stores

    • Astra DB
    • Astra DB Graph
    • Cassandra
    • Cassandra Graph
    • Chroma DB
    • Clickhouse
    • Couchbase
    • Elasticsearch
    • FAISS
    • Hyper-Converged ...
    • Milvus
    • MongoDB Atlas
    • OpenSearch
    • PGVector
    • Pinecone
    • Qdrant
    • Redis
    • Supabase
    • Upstash
    • Vectara
    • Vectara RAG
    • Vectara S ...
    • Weaviate

機能的(コンポーネント)

  • Tools

    • DS Astra DB
    • DS Astra DB
    • Bing Search API
    • Calculator
    • DuckDuckGo Search
    • Exa Search
    • Glean Search API
    • Google Search API
    • Python C...
    • Python REPL
    • RetrieverTool
    • SearXNG...
    • Serp Search API
    • Tavily Al Search
    • Wikidata API
    • Wikipedia API
    • WolframAlpha API
    • Yahoo Finance
    • YouTube Transcripts
  • Retrievers

    • Amazon K...
    • Metal Retr...
    • MultiQuer...
  • Agents

    • Agent
      Loaders同様にBundleに格納されている模様。
  • Prototypes

    • Python Function
  • Create custom Python components

バンドル(コンポーネント一覧)

(より機能的)

  • LangChain

    • CharacterTextSplitter
    • Conversat...
    • CSVAgent
    • Fake Embeddings
    • HTML Link Extractor
    • JSON Doc...
    • JsonAgent
    • Language Recursiv...
    • Natural Language ...
    • OpenAl Tools Agent
    • OpenAPI Agent
    • Prompt Hub
    • Recursive Charact...
    • Runnable Ex...
    • Semantic Te...
    • Spider Web Crawle...
    • SQLAgent
    • SQLDatabase
    • Tool Calling Agent
    • XML Agent
  • AssemblyAI

  • DataStax

  • Notion

  • NVIDIA

  • Google

  • CrewAI

  • NotDiamond

  • Composio

  • Cohere

  • Firecrawl

  • Unstructured

  • Git

  • Confluence

所感

テンプレート

  • テンプレートと適合していれば、チョット書き換えて使う事が出来て便利。
  • 一方で、0からデザインしようとすると、どうしてイイのか、マニュアルを見ないと解らない。

RAG(所感)

テンプレートのVDBがいきなり商用(DataStax)のモノだったりするので必要に応じて切り替えが必要。

  • LangChainは外部ツールを活用して、各種インデックスをサポートする。
  • LlamaIndexは外部ツールを使用せず、独自方式を含む各種インデックスをローカルで処理可能。

Agent(所感)

全体はワークフロー、プロンプトフローなどと呼ばれるが、
Agentにツールを接続して処理することが多い(便利だが)。

  • 1本道のフローだと、汎用性が低く、必要に応じて、ユーザがフローを選択する必要がある。
  • エンドユーザが関わってくると要件に合わせて都度、条件分岐を追加していく運用は難しくなる。
  • Agentの判断次第で、ツールを使ったり使わなかったり、ブレが出る。

その他(所感)

  • ネットの情報が古かったり、情報が少なかったりする。
  • (ZeroShotAgentとか)ノードがコンポーネント一覧に無い事がある(コレは自作?)。
  • カスタム・コンポーネントはCustom Componentから作成できそうだが、どうやって登録する?
  • ユーザ毎の課金計算やOpenAIなどのWebAPIキーなどをサポートする?

イメージ

GUI

GUI

Terminal1

Terminal2

プロダクト連携

Ollama

  • Ollamaノードを設定: Ollamaノードをクリック

  • Base URL、Model Name、Temperatureを設定。

  • 参考

LlamaIndex

参考

公式

  • langflow
    https://docs.langflow.org/

    • LangFlowファーストステップ的な(元 Wiki 側にページの実体が無いリンク)

    • Concepts

      • Langflow overview
      • Playground
      • Components
      • Flows
      • API pane
    • Components

      • Agents
      • Create custom Python components
      • Data
      • Embeddings
      • Helpers
      • Inputs and outputs
      • Loaders
      • Logic
      • Memories
      • Models
      • Processing
      • Prompts
      • Tools
      • Vector stores
    • Agents

      • Agents overview
      • Create a problem-solving agent
    • Configuration

      • API keys
      • Authentication
      • Auto-saving
      • Run Langflow in backend-only mode
      • Langflow CLI
      • Global variables
      • Environment variables
      • Langflow objects
      • Security best practices
    • Deployment

      • Docker
      • GCP
      • HuggingFace Spaces
      • Kubernetes
      • Railway
      • Render
    • Integrations

      • AssemblyAI
      • Integrate Composio with Langflow
      • Langfuse
      • LangSmith
      • LangWatch
      • Google
      • Notion
    • Contributing

    • API Reference

移行メモ

  • 元 Wiki の「戻る」の並びで LangFlow が HTML 実体参照(LangFlow)で 書かれていたが、PukiWiki のページ内リンク自動生成を避けるための記法と 思われるため、通常の文字列に戻した。
  • 元 Wiki の [[LangFlowファースト・ステップ的な]] / [[LangFlowファーストステップ的な]] は リンク先のページが元 Wiki 側に存在しない(リンク切れ)ため、プレーン・テキストとした。
  • 「Basic Prompting」(#g09d13bc)と「DataStax」(#u10d2861)のリンクは、 同ページ内に存在しないアンカを指していたため、プレーン・テキストとした。
  • 「準備」配下の本文の無い見出し 3 件と末尾の見出し「...」はまとめ・除去した。
  • 同名の見出し(「インストール」「基本的」「RAG系」「機能的」「バンドル」「RAG」 「Agent」「その他」「ログ」)が複数あり GitHub Wiki でアンカが衝突するため、 括弧で文脈を補って一意にした。
  • 添付 4 点は DNET_LangFlow_1.png_4.png として取得した。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。
  • 本フェーズで新たに参照された「LangFlowのセカンド・ステップ」 「LangFlowのサード・ステップ」「LangFlowの4thステップ」を TODO.md に予約した。
  • 元 Wiki では子ページ「LangFlowのURLComponentのテスト」への導線が無かった(子ページ側の「戻る」だけが当ページを指していた)ため、 移行後に当ページからのリンクを補った。

Tags: 移行, LangFlow, LangChain, ローコード, GUI, プロンプトフロー, RAG, Agent, DataStax

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally