LangFlowのサード・ステップ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>LangFlow]]
--[[LangFlowのファースト・ステップ]]
--[[LangFlowのセカンド・ステップ]]
--LangFlowのサード・ステップ
--[[LangFlowの4thステップ]]
*目次 [#c402f1fc]
#contents
*概要 [#ta239c77]
やっぱ、カスタム・コンポーネントを作成してみたいよね♨
*詳細 [#gf2cc197]
**利用方法 [#s0cd3afd]
***新規作成 [#o3f2bb1e]
-コンポーネントサイドバーの「New Custom Component」の「+...
-キャンバス上に新しいコンポーネントが生成される。
-コンポーネントの「Code」をクリックして以下コードを修正
# from langflow.field_typing import Data
from langflow.custom import Component
from langflow.io import MessageTextInput, Output
from langflow.schema import Data
class CustomComponent(Component):
display_name = "Custom Component"
description = "Use as a template to create your own ...
documentation: str = "https://docs.langflow.org/comp...
icon = "code"
name = "CustomComponent"
inputs = [
MessageTextInput(
name="input_value",
display_name="Input Value",
info="This is a custom component Input",
value="Hello, World!",
tool_mode=True,
),
]
outputs = [
Output(display_name="Output", name="output", met...
]
def build_output(self) -> Data:
data = Data(value=self.input_value)
self.status = data
return data
-コンポーネントの「Save」をクリックして修正コードを保存
-コンポーネントサイドバーの「Saved」からコンポーネントを...
***エクスポート [#qbc4c237]
-エクスポート機能はないので、手動で*.pyファイルに保存する。
-現時点でJSONダウンロード機能があるのでアップロード機能(...
***インポート [#e05eb1e1]
-以下のpathに配置して再起動すると、既存のdataカテゴリに追...
~/.venvのpath/lib/python3.12/site-packages/langflow/comp...
-カテゴリを新設する場合は、格納するフォルダを新設すれば良...
~/.venvのpath/lib/python3.12/site-packages/langflow/comp...
**テンプレ解説 [#r7b22d6b]
***メンバプロパティ [#v6e4e265]
display_name = "Custom Component"
description = "Use as a template to create your own comp...
documentation: str = "https://docs.langflow.org/componen...
icon = "code"
name = "CustomComponent"
-display_name:UIに表示される名前
-description:ツールチップで表示される説明文
-documentation:ドキュメントへのリンク
-icon:アイコン識別子(ここでは "code")
-name:コンポーネント内部識別子
***入出力プロパティ [#zeb6cd26]
-入力プロパティ
inputs = [
MessageTextInput(
name="input_value",
display_name="Input Value",
info="This is a custom component Input",
value="Hello, World!",
tool_mode=True,
),
]
--入力1のタイプ~
ココでは、MessageTextInput:ユーザー入力テキストフィールド
---name:プログラム内部で参照する変数名
---display_name:UIに表示されるラベル
---info:ユーザー向け説明
---value:デフォルト値
---tool_mode=True:ツールモード利用可否
--入力2のタイプ~
...
-出力プロパティ
outputs = [
Output(display_name="Output", name="output", met...
]
--出力1のタイプ~
ココでは、Output:Output
---name:プログラム内部で参照する変数名
---display_name:UIに表示されるラベル
---method:関数名
--出力2のタイプ~
...
***メソッド [#p33472ab]
-出力1のメソッド~
既定では以下のような実装になっている。
def build_output(self) -> Data:
data = Data(value=self.input_value)
self.status = data
return data
***カスタマイズ [#g103dedb]
文字反転するように変更
-特にOutput Chatに出力したいので、Output周りを変更する必...
--name系を変更
--型をDataからMessageに変更
outputs = [
Output(display_name="Message", name="message", metho...
]
def build_output(self) -> Message:
reversed_text = self.input_value[::-1]
message = Message(text=reversed_text)
self.status = message
return message
-上記のノードを「Basic Prompting」のInput Chat、Output Ch...
-[Playground]をクリックしてチャット セッションを開始、ク...
***稼働確認 [#y8c17d5b]
-上記で単体テストが完了したので、運用テスト準備
--コンポーネントのdisplay_nameをReverse componentにリネー...
--コンポーネントの「Save」をクリックして修正コードを保存。
--display_nameは、コードからもUIからも編集することが出来...
-運用テストとして「Basic Prompting」テンプレートを新規作...
--コンポーネントサイドバーの「Saved」からReverse componen...
--ノードをInput Chat、Output Chatに接続し、[Playground]を...
**様々なコンポーネント [#ha014298]
-基本的に、カスタマイズ対象のベース・コンポーネントを改修...
-該当する機能を提供するクラスを継承し、必要なプロパティや...
***RAG(VDB) [#v898aa20]
LCVectorStoreComponentを継承したRAG(VDB)コンポーネント...
***Agent [#jf323506]
ToolCallingAgentComponentを継承したAgentコンポーネントに...
*参考 [#w6449ec2]
-Welcome to Langflow | Langflow Documentation~
https://docs.langflow.org/
--Components
---Create custom Python components~
https://docs.langflow.org/components-custom-components
-
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>LangFlow]]
--[[LangFlowのファースト・ステップ]]
--[[LangFlowのセカンド・ステップ]]
--LangFlowのサード・ステップ
--[[LangFlowの4thステップ]]
*目次 [#c402f1fc]
#contents
*概要 [#ta239c77]
やっぱ、カスタム・コンポーネントを作成してみたいよね♨
*詳細 [#gf2cc197]
**利用方法 [#s0cd3afd]
***新規作成 [#o3f2bb1e]
-コンポーネントサイドバーの「New Custom Component」の「+...
-キャンバス上に新しいコンポーネントが生成される。
-コンポーネントの「Code」をクリックして以下コードを修正
# from langflow.field_typing import Data
from langflow.custom import Component
from langflow.io import MessageTextInput, Output
from langflow.schema import Data
class CustomComponent(Component):
display_name = "Custom Component"
description = "Use as a template to create your own ...
documentation: str = "https://docs.langflow.org/comp...
icon = "code"
name = "CustomComponent"
inputs = [
MessageTextInput(
name="input_value",
display_name="Input Value",
info="This is a custom component Input",
value="Hello, World!",
tool_mode=True,
),
]
outputs = [
Output(display_name="Output", name="output", met...
]
def build_output(self) -> Data:
data = Data(value=self.input_value)
self.status = data
return data
-コンポーネントの「Save」をクリックして修正コードを保存
-コンポーネントサイドバーの「Saved」からコンポーネントを...
***エクスポート [#qbc4c237]
-エクスポート機能はないので、手動で*.pyファイルに保存する。
-現時点でJSONダウンロード機能があるのでアップロード機能(...
***インポート [#e05eb1e1]
-以下のpathに配置して再起動すると、既存のdataカテゴリに追...
~/.venvのpath/lib/python3.12/site-packages/langflow/comp...
-カテゴリを新設する場合は、格納するフォルダを新設すれば良...
~/.venvのpath/lib/python3.12/site-packages/langflow/comp...
**テンプレ解説 [#r7b22d6b]
***メンバプロパティ [#v6e4e265]
display_name = "Custom Component"
description = "Use as a template to create your own comp...
documentation: str = "https://docs.langflow.org/componen...
icon = "code"
name = "CustomComponent"
-display_name:UIに表示される名前
-description:ツールチップで表示される説明文
-documentation:ドキュメントへのリンク
-icon:アイコン識別子(ここでは "code")
-name:コンポーネント内部識別子
***入出力プロパティ [#zeb6cd26]
-入力プロパティ
inputs = [
MessageTextInput(
name="input_value",
display_name="Input Value",
info="This is a custom component Input",
value="Hello, World!",
tool_mode=True,
),
]
--入力1のタイプ~
ココでは、MessageTextInput:ユーザー入力テキストフィールド
---name:プログラム内部で参照する変数名
---display_name:UIに表示されるラベル
---info:ユーザー向け説明
---value:デフォルト値
---tool_mode=True:ツールモード利用可否
--入力2のタイプ~
...
-出力プロパティ
outputs = [
Output(display_name="Output", name="output", met...
]
--出力1のタイプ~
ココでは、Output:Output
---name:プログラム内部で参照する変数名
---display_name:UIに表示されるラベル
---method:関数名
--出力2のタイプ~
...
***メソッド [#p33472ab]
-出力1のメソッド~
既定では以下のような実装になっている。
def build_output(self) -> Data:
data = Data(value=self.input_value)
self.status = data
return data
***カスタマイズ [#g103dedb]
文字反転するように変更
-特にOutput Chatに出力したいので、Output周りを変更する必...
--name系を変更
--型をDataからMessageに変更
outputs = [
Output(display_name="Message", name="message", metho...
]
def build_output(self) -> Message:
reversed_text = self.input_value[::-1]
message = Message(text=reversed_text)
self.status = message
return message
-上記のノードを「Basic Prompting」のInput Chat、Output Ch...
-[Playground]をクリックしてチャット セッションを開始、ク...
***稼働確認 [#y8c17d5b]
-上記で単体テストが完了したので、運用テスト準備
--コンポーネントのdisplay_nameをReverse componentにリネー...
--コンポーネントの「Save」をクリックして修正コードを保存。
--display_nameは、コードからもUIからも編集することが出来...
-運用テストとして「Basic Prompting」テンプレートを新規作...
--コンポーネントサイドバーの「Saved」からReverse componen...
--ノードをInput Chat、Output Chatに接続し、[Playground]を...
**様々なコンポーネント [#ha014298]
-基本的に、カスタマイズ対象のベース・コンポーネントを改修...
-該当する機能を提供するクラスを継承し、必要なプロパティや...
***RAG(VDB) [#v898aa20]
LCVectorStoreComponentを継承したRAG(VDB)コンポーネント...
***Agent [#jf323506]
ToolCallingAgentComponentを継承したAgentコンポーネントに...
*参考 [#w6449ec2]
-Welcome to Langflow | Langflow Documentation~
https://docs.langflow.org/
--Components
---Create custom Python components~
https://docs.langflow.org/components-custom-components
-
ページ名: