Skip to main content

DependencyGraphProvider

Trait DependencyGraphProvider 

Source
pub trait DependencyGraphProvider: Send + Sync {
    // Required method
    fn provide_graph(
        &self,
        task: &str,
        available_actions: &[String],
    ) -> Option<DependencyGraph>;

    // Provided method
    fn select(
        &self,
        _task: &str,
        _available_actions: &[String],
    ) -> Option<SelectResult> { ... }
}
Expand description

DependencyGraph を提供するトレイト

このトレイトを実装することで、様々な方法で DependencyGraph を生成できる:

  • LLM による動的生成(BatchInvoker が実装)
  • 静的な事前定義グラフ
  • テスト用のモック

§Example

use swarm_engine_core::exploration::{DependencyGraph, DependencyGraphProvider};

struct StaticProvider {
    graph: DependencyGraph,
}

impl DependencyGraphProvider for StaticProvider {
    fn provide_graph(&self, _task: &str, _actions: &[String]) -> Option<DependencyGraph> {
        Some(self.graph.clone())
    }
}

Required Methods§

Source

fn provide_graph( &self, task: &str, available_actions: &[String], ) -> Option<DependencyGraph>

タスクとアクション一覧から DependencyGraph を生成

§Arguments
  • task: タスクの説明(goal)
  • available_actions: 利用可能なアクション名の一覧
§Returns
  • Some(DependencyGraph): グラフが生成された場合
  • None: 生成をスキップする場合(LLM エラー等)

Provided Methods§

Source

fn select( &self, _task: &str, _available_actions: &[String], ) -> Option<SelectResult>

最適なエントリを選択し、LLM 呼び出しのヒントを返す

provide_graph()None を返した場合に、BatchInvoker へ渡すヒントを取得する。 デフォルト実装は None を返す(ヒントなし)。

§Returns
  • Some(SelectResult::UseLlm { .. }): LLM 呼び出しに使用するパラメータ
  • None: ヒントなし(デフォルトパラメータを使用)

Implementors§