🦙

LangFlow入門 (ollama版)

に公開

LangFlowとは?

LangFlow
LangFlowは、LangChainライブラリを基盤とした、GUIでLLMアプリケーションを構築するためのツールです。コンポーネントをドラッグ&ドロップし、それらを接続するだけで、チャットボット、エージェント、RAG(Retrieval-Augmented Generation)システムなどを視覚的に開発できます。

Visual flow builder

LangFlowのインストール

LangFlowを使用するには、まずPython環境(仮想環境)にLangFlowをインストールする必要があります。uvがインストールされている環境で、ターミナルを開き、以下のコマンドを実行します。

uv venv
uv pip install langflow

LangFlowの起動

インストールが完了したら、ターミナルで以下のコマンドを実行してLangFlowを起動します。

uv run langflow run

しばらくすると、ターミナルに Running on http://127.0.0.1:7860 のようなメッセージが表示されます。ウェブブラウザでこのURL http://localhost:7860 または http://127.0.0.1:7860 を開くと、LangFlowのインターフェースが表示されます。

Basic prompting : 基本的なプロンプトフロー

LangFlowのUIを使って、ユーザーからの入力に基づいてLLMが応答を生成する、最も基本的なフローを作成します。

  1. 新規フローの作成
    LangFlowのDashboard画面で「New Flow」ボタンをクリックします。
    Get started画面でTemplatesから「Basic Prompting」を選択します。

    Get started

the basic prompting flow
Basic prompting flow (Template)

  1. Ollama コンポーネントの追加
  • Ollamaコンポーネントを追加します。
    [Models] をクリックし、[Ollama] コンポーネントを選択して、キャンバスにドラッグします。
    choose ollama model component

  • Chat Input コンポーネントの青い Message ポートから Ollamaモデルコンポーネントの Input ポートに線をドラッグします。

  • プロンプトコンポーネントの青いプロンプトメッセージポートから Ollamaモデルコンポーネントのシステムメッセージポートに線をクリックしてドラッグします。

  • Ollamaモデルコンポーネントの青い Text ポートから、Chat Output コンポーネントの Text ポートに線をクリックしてドラッグします。

これで、以下のようなフローは次のようになります:

Chat Input コンポーネント: チャットへのユーザー入力を受け付けます。
Prompt コンポーネント: ユーザー入力をユーザー定義のプロンプトと組み合わせます。
Chat Outputコンポーネント: フローの出力をチャットに出力します。
Ollamaモデルコンポーネント: ユーザ入力とプロンプトを Ollama API に送信し、レスポンスを受け取ります。

  1. Ollamaコンポーネントの設定
  • Ollamaコンポーネントに情報を追加します。
    Base URL: Ollama APIのエンドポイントURL (例: http://localhost:11434 )を入力します。
    Model Name: 使用したいモデルを選択します。(例: granite3.3:latest )
    Ollama basic prompt flow
    Ollama Basic Prompt Flow
  1. フローの実行
    「Playground」をクリックしてチャットセッションを開始します。

クエリを入力し、プロンプトコンポーネントで設定したプロンプトに従ってボットが応答することを確認します。
Playground - basic prompt

これで、LangflowワークスペースにOllamaを使ったチャットボットアプリケーションが作成できました。

Simple agent

Tool-calling agent コンポーネントを使用して、エージェントアプリケーション用のシンプルエージェントフローを構築します。

このフローでは、ツール呼び出しエージェントが Ollama の LLM を使用して理由を説明します。
エージェントは、簡単な計算問題のために電卓ツールを選択し、コンテンツのURLを検索するためにURLツールを選択します。

  1. 新規フローの作成
    LangFlowのDashboard画面で「New Flow」ボタンをクリックします。
    Get started画面でTemplatesから「Simple Agent」を選択します。
    Simple Agent flow

Simple Agent フローのコンポーネント構成:
Tool calling agentコンポーネント: 接続されたLLMを使用してユーザーの入力を推論し、タスクを完了するために接続されたツールの中から選択します。
URLツールコンポーネント: コンテンツのURLリストを検索する。
電卓コンポーネント: 基本的な算術演算を実行する。
チャット入力コンポーネント: チャットへのユーザー入力を受け付けます。
チャット出力コンポーネント: フローの出力をチャットに出力します。

  1. Ollama コンポーネントの追加
  • Ollamaコンポーネントを追加します。
    [Models] をクリックし、[Ollama] コンポーネントを選択して、キャンバスにドラッグします。
    choose ollama model component

  • Tool calling agent コンポーネントの Model Provider を OpenAI から Custom へ変更します。

  • Ollamaコンポーネントの紫の Language Model ポートから Tool calling agent コンポーネントの Language Model ポートに線をドラッグします。

これで、以下のようなフローは次のようになります:
Ollama Simple agent

  1. Ollamaコンポーネントの設定
  • Ollamaコンポーネントに情報を追加します。
    Base URL: Ollama APIのエンドポイントURL (例: http://localhost:11434 )を入力します。
    Model Name: 使用したいモデルを選択します。(例: llama3.1:latest )
    Ollama Simple agent flow
    Ollama Simple agent Flow
  1. フローの実行
    「Playground」をクリックしてチャットセッションを開始します。

クエリを入力しボットが応答することを確認します。
Playground - simple agent

これで、LangflowワークスペースにOllamaを使ったSimple Agentアプリケーションが作成できました。

Discussion