pub struct DependencyGraphLearnModel {
pub system_prompt: String,
}Expand description
DependencyGraph 推論の学習モデル
DependencyGraph 推論の prompt/response を評価し、TrainingData に変換する。
Fields§
§system_prompt: Stringシステムプロンプト
Implementations§
Source§impl DependencyGraphLearnModel
impl DependencyGraphLearnModel
Sourcepub fn with_system_prompt(self, prompt: impl Into<String>) -> Self
pub fn with_system_prompt(self, prompt: impl Into<String>) -> Self
システムプロンプトを設定
Sourcepub fn default_system_prompt() -> &'static str
pub fn default_system_prompt() -> &'static str
デフォルトのシステムプロンプト
Trait Implementations§
Source§impl Default for DependencyGraphLearnModel
impl Default for DependencyGraphLearnModel
Source§impl LearnModel for DependencyGraphLearnModel
impl LearnModel for DependencyGraphLearnModel
Source§fn build_episodes(&self, records: &[Record]) -> Vec<Episode>
fn build_episodes(&self, records: &[Record]) -> Vec<Episode>
DependencyGraphRecord から Episode を生成
§旧 runner.rs のロジック(参考)
ⓘ
// runner.rs:680-738 で行っていた処理:
let scenario_key = self.scenario.meta.id.learning_key();
let ticks = result.total_ticks as u32;
let max_ticks = self.scenario.app_config.max_ticks as u32;
// Outcome 計算
let outcome = if environment_done {
let score = 1.0 - (ticks as f64 / max_ticks as f64).min(1.0);
Outcome::success(score.max(0.01))
} else if timed_out {
let partial_score = (ticks as f64 / max_ticks as f64).min(0.99);
Outcome::timeout(Some(partial_score))
} else {
Outcome::failure(format!("Task not completed at tick {}", ticks))
};
// Episode 構築
let context = EpisodeContext::new().with_record(record);
let episode = Episode::builder()
.learn_model("dependency_graph")
.context(context)
.outcome(outcome)
.scenario(&scenario_key)
.build();
// JSONL 保存
let path = store.storage().base_dir().join(format!(
"scenarios/{}/dep_graph_episodes.jsonl", scenario_key
));Source§fn evaluate(&self, context: &EpisodeContext) -> Outcome
fn evaluate(&self, context: &EpisodeContext) -> Outcome
Records から Success/Failure を判定 Read more
Source§fn convert(&self, episode: &Episode) -> Result<TrainingData, LearnError>
fn convert(&self, episode: &Episode) -> Result<TrainingData, LearnError>
Episode を TrainingData に変換
Source§fn convert_batch(&self, episodes: &[Episode]) -> Vec<TrainingData>
fn convert_batch(&self, episodes: &[Episode]) -> Vec<TrainingData>
複数 Episode を一括変換(デフォルト実装)
Source§fn build_episodes_from_actions(&self, actions: &[ActionEvent]) -> Vec<Episode>
fn build_episodes_from_actions(&self, actions: &[ActionEvent]) -> Vec<Episode>
便利メソッド: ActionEvent[] から直接変換
Auto Trait Implementations§
impl Freeze for DependencyGraphLearnModel
impl RefUnwindSafe for DependencyGraphLearnModel
impl Send for DependencyGraphLearnModel
impl Sync for DependencyGraphLearnModel
impl Unpin for DependencyGraphLearnModel
impl UnwindSafe for DependencyGraphLearnModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more