///|
pub fn parse_rlm_profile(input : String?) -> Result[RLMProfile, String] {
match input {
None => Ok(Hybrid)
Some(value) =>
if value == "" || value == "hybrid" {
Ok(Hybrid)
} else if value == "pure" {
Ok(Pure)
} else {
Err("unknown_profile:\{value}")
}
}
}
///|
pub fn build_profile_rlm_options(profile : RLMProfile) -> RLMRunOptions {
let budget = default_rlm_budget(max_steps=6, max_sub_calls=16, max_depth=4)
match profile {
Pure =>
default_rlm_options(budget~, require_prompt_read_before_finalize=false)
Hybrid =>
default_rlm_options(budget~, require_prompt_read_before_finalize=true)
}
}