From 50856c9e74426fb85de356f3d447cad8dca7e579 Mon Sep 17 00:00:00 2001 From: Oleksiy Syvokon Date: Thu, 9 Apr 2026 13:48:04 +0300 Subject: [PATCH] ep: Make .prompt.expected_output optional (#53505) Release Notes: - N/A --- crates/edit_prediction_cli/src/example.rs | 3 ++- crates/edit_prediction_cli/src/format_prompt.rs | 7 +++---- crates/edit_prediction_cli/src/predict.rs | 2 +- crates/edit_prediction_cli/src/pull_examples.rs | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/edit_prediction_cli/src/example.rs b/crates/edit_prediction_cli/src/example.rs index 682671141d050836d25705b2732f11500f159209..3795a375d380e12557f1989a2b81dc77e1826c03 100644 --- a/crates/edit_prediction_cli/src/example.rs +++ b/crates/edit_prediction_cli/src/example.rs @@ -65,7 +65,8 @@ pub struct ExampleState { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct ExamplePrompt { pub input: String, - pub expected_output: String, + #[serde(default)] + pub expected_output: Option, pub rejected_output: Option, // For DPO #[serde(default)] pub prefill: Option, diff --git a/crates/edit_prediction_cli/src/format_prompt.rs b/crates/edit_prediction_cli/src/format_prompt.rs index 24a6f1acd470fb8ee77e87d993079298f45b390c..ae0d60ecb508f3a7ab46daf0b35a8d741e39d5dc 100644 --- a/crates/edit_prediction_cli/src/format_prompt.rs +++ b/crates/edit_prediction_cli/src/format_prompt.rs @@ -43,7 +43,7 @@ pub async fn run_format_prompt( let prompt = TeacherPrompt::format_prompt(example, editable_range, context_range); example.prompt = Some(ExamplePrompt { input: prompt, - expected_output: String::new(), + expected_output: None, rejected_output: None, prefill: None, provider: args.provider, @@ -61,7 +61,7 @@ pub async fn run_format_prompt( TeacherMultiRegionPrompt::format_prompt(example, editable_range, context_range); example.prompt = Some(ExamplePrompt { input: prompt, - expected_output: String::new(), + expected_output: None, rejected_output: None, prefill: None, provider: args.provider, @@ -85,8 +85,7 @@ pub async fn run_format_prompt( zeta_format, ) .ok() - }) - .unwrap_or_default(); + }); let rejected_output = example.spec.rejected_patch.as_ref().and_then(|patch| { zeta2_output_for_patch(prompt_inputs, patch, None, zeta_format).ok() diff --git a/crates/edit_prediction_cli/src/predict.rs b/crates/edit_prediction_cli/src/predict.rs index f2a55455b36326b58daa0adada7ec39124ffc317..99d90f0f4e524256ee3e7ec8f1bfdd6af34c566b 100644 --- a/crates/edit_prediction_cli/src/predict.rs +++ b/crates/edit_prediction_cli/src/predict.rs @@ -195,7 +195,7 @@ pub async fn run_prediction( if matches!(provider, PredictionProvider::Zeta2(_)) { updated_example.prompt.get_or_insert(ExamplePrompt { input: prompt, - expected_output: String::new(), + expected_output: None, rejected_output: None, provider, prefill: None, diff --git a/crates/edit_prediction_cli/src/pull_examples.rs b/crates/edit_prediction_cli/src/pull_examples.rs index 9ea8ac3bda1fa17295dab29bb3d5c78eaa54d765..f1687f6be3d7420ca2af9e064b63aaeb2504af2f 100644 --- a/crates/edit_prediction_cli/src/pull_examples.rs +++ b/crates/edit_prediction_cli/src/pull_examples.rs @@ -1674,7 +1674,7 @@ fn build_rejected_example( example.spec.rejected_patch = Some(rejected_patch); example.prompt = prompt.map(|prompt| ExamplePrompt { input: prompt, - expected_output: String::new(), + expected_output: None, rejected_output: Some(output), prefill: None, provider: PredictionProvider::default(),