Skip to main content

概要

Jinba Toolbox ツールを使うと、フロー内から Jinba Toolbox に Python ツールを登録できます。初回実行時に ToolSet を作成し、実行のたびにツールを作成または更新するため、生成したツールをソースと同期した状態に保てます。

主な機能

  • JINBA_TOOLBOX_REGISTER_TOOL
    • org_id、tool_set_slug、tool_slug で特定される Python ツールを登録または更新
    • ToolSet が存在しない場合は tool_set_name と tool_set_description を使って新規作成(非公開、Python サンドボックス)
    • tool_name、tool_description、code は実行のたびに送信され、tool_name を変更するとツール名が変更される
    • バージョンの Publish は行わないため、登録後に Toolbox の Web コンソールから Publish する

認証

config の api_key に Jinba Toolbox の API キー(シークレットタイプ JINBA_TOOLBOX_API_KEY)を設定します。任意の base_url config を指定すると、Jinba Flow の環境に設定された Toolbox API の URL を上書きできます。 注意: API キーは機密情報として扱い、公開リポジトリにコミットしないでください。

使用例

例:ツールを登録する

注意事項

  • 入力: org_id(Toolbox の組織 ID またはスラッグ)、tool_set_slug と tool_slug(小文字の英字・数字・ハイフン、64 文字以内)、tool_set_name と tool_name(256 文字以内)、tool_set_description と tool_description(任意、4,096 文字以内)、code(65,536 文字以内)。
  • code には pydantic の BaseModel を継承した Input クラスと Output クラス、および run(input: Input) -> Output 関数を定義する必要があります。Toolbox はこれらからツールの入出力スキーマを抽出し、いずれかが欠けているコードは拒否されます。
  • tool_set_name と tool_set_description は ToolSet の作成時にのみ使われ、既存の ToolSet の名前は変更されません。tool_set_description が空の場合は tool_set_name が使われます。tool_description が空の場合、既存ツールの説明は変更されません。
  • result には tool_set_slug、tool_slug、tool_set_created、tool_created が含まれます(更新ではなく新規作成だった場合に true)。
  • 同じ tool_set_slug / tool_slug への並行登録は調停されないため、フロー側で直列化してください。