Enrich prompt with 360 view suffix for map generation
This commit is contained in:
@@ -106,6 +106,17 @@ fn env_truthy(name: &str) -> bool {
|
|||||||
.unwrap_or(false)
|
.unwrap_or(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PROMPT_ENRICHMENT_SUFFIX: &str = ", equirectangular 360 view";
|
||||||
|
|
||||||
|
fn enrich_prompt(prompt: &str) -> String {
|
||||||
|
let prompt = prompt.trim();
|
||||||
|
if prompt.ends_with(PROMPT_ENRICHMENT_SUFFIX) {
|
||||||
|
prompt.to_string()
|
||||||
|
} else {
|
||||||
|
format!("{prompt}{PROMPT_ENRICHMENT_SUFFIX}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn log_slug(prompt: &str) -> String {
|
fn log_slug(prompt: &str) -> String {
|
||||||
let mut slug = String::new();
|
let mut slug = String::new();
|
||||||
let mut last_was_separator = false;
|
let mut last_was_separator = false;
|
||||||
@@ -358,11 +369,12 @@ async fn generate_map(
|
|||||||
settings: Option<GenSettings>,
|
settings: Option<GenSettings>,
|
||||||
state: State<'_, Paths>,
|
state: State<'_, Paths>,
|
||||||
) -> Result<GenerateResult, String> {
|
) -> Result<GenerateResult, String> {
|
||||||
if prompt.trim().is_empty() {
|
let user_prompt = prompt.trim().to_string();
|
||||||
|
if user_prompt.is_empty() {
|
||||||
return Err("Prompt must not be empty".into());
|
return Err("Prompt must not be empty".into());
|
||||||
}
|
}
|
||||||
|
|
||||||
let prompt_clone = prompt.clone();
|
let prompt_clone = enrich_prompt(&user_prompt);
|
||||||
let root = state.project_root.clone();
|
let root = state.project_root.clone();
|
||||||
let cfg = settings.unwrap_or_default();
|
let cfg = settings.unwrap_or_default();
|
||||||
let steps = cfg.steps.unwrap_or(25);
|
let steps = cfg.steps.unwrap_or(25);
|
||||||
@@ -451,6 +463,7 @@ async fn generate_map(
|
|||||||
);
|
);
|
||||||
write_log_line(&mut log_file, format!("cwd: {}", root.to_string_lossy()));
|
write_log_line(&mut log_file, format!("cwd: {}", root.to_string_lossy()));
|
||||||
write_log_line(&mut log_file, format!("log_path: {log_path_display}"));
|
write_log_line(&mut log_file, format!("log_path: {log_path_display}"));
|
||||||
|
write_log_line(&mut log_file, format!("user_prompt: {user_prompt}"));
|
||||||
write_log_line(&mut log_file, format!("prompt: {prompt_clone}"));
|
write_log_line(&mut log_file, format!("prompt: {prompt_clone}"));
|
||||||
write_log_line(&mut log_file, format!("steps: {steps}"));
|
write_log_line(&mut log_file, format!("steps: {steps}"));
|
||||||
write_log_line(&mut log_file, format!("guidance: {guidance}"));
|
write_log_line(&mut log_file, format!("guidance: {guidance}"));
|
||||||
|
|||||||
Reference in New Issue
Block a user