feat: Dynamic scenario based on task (#392)

* OAI api

* more comments

* llm utils

* RD-Framework for dynamic scen

* remove useless code

* auto lint

* fix dynamic scennario

* Add parameter

* auto lint

* remove abstractmethod

* fix lint
This commit is contained in:
you-n-g
2024-09-29 18:43:17 +08:00
committed by GitHub
parent d633d8ca5d
commit ef641332fa
12 changed files with 121 additions and 46 deletions
@@ -89,7 +89,11 @@ class FactorCodeEvaluator(FactorEvaluator):
system_prompt = (
Environment(undefined=StrictUndefined)
.from_string(evaluate_prompts["evaluator_code_feedback_v1_system"])
.render(scenario=self.scen.get_scenario_all_desc() if self.scen is not None else "No scenario description.")
.render(
scenario=self.scen.get_scenario_all_desc(target_task)
if self.scen is not None
else "No scenario description."
)
)
execution_feedback_to_render = execution_feedback
@@ -167,7 +171,11 @@ class FactorOutputFormatEvaluator(FactorEvaluator):
.from_string(
evaluate_prompts["evaluator_output_format_system"],
)
.render(scenario=self.scen.get_scenario_all_desc() if self.scen is not None else "No scenario description.")
.render(
scenario=self.scen.get_scenario_all_desc(implementation.target_task)
if self.scen is not None
else "No scenario description."
)
)
# TODO: with retry_context(retry_n=3, except_list=[KeyError]):
@@ -473,7 +481,11 @@ class FactorFinalDecisionEvaluator(Evaluator):
system_prompt = (
Environment(undefined=StrictUndefined)
.from_string(evaluate_prompts["evaluator_final_decision_v1_system"])
.render(scenario=self.scen.get_scenario_all_desc() if self.scen is not None else "No scenario description.")
.render(
scenario=self.scen.get_scenario_all_desc(target_task)
if self.scen is not None
else "No scenario description."
)
)
execution_feedback_to_render = execution_feedback
@@ -133,7 +133,7 @@ class FactorEvolvingStrategy(MultiProcessEvolvingStrategy):
implement_prompts["evolving_strategy_factor_implementation_v1_system"],
)
.render(
scenario=self.scen.get_scenario_all_desc(),
scenario=self.scen.get_scenario_all_desc(target_task),
queried_former_failed_knowledge=queried_former_failed_knowledge_to_render,
)
)
@@ -226,7 +226,7 @@ class FactorEvolvingStrategyWithGraph(MultiProcessEvolvingStrategy):
implement_prompts["evolving_strategy_factor_implementation_v1_system"],
)
.render(
scenario=self.scen.get_scenario_all_desc(),
scenario=self.scen.get_scenario_all_desc(target_task),
queried_former_failed_knowledge=queried_former_failed_knowledge_to_render,
)
)
@@ -250,7 +250,7 @@ class FactorEvolvingStrategyWithGraph(MultiProcessEvolvingStrategy):
Environment(undefined=StrictUndefined)
.from_string(implement_prompts["evolving_strategy_error_summary_v2_system"])
.render(
scenario=self.scen.get_scenario_all_desc(),
scenario=self.scen.get_scenario_all_desc(target_task),
factor_information_str=target_factor_task_information,
code_and_feedback=queried_former_failed_knowledge_to_render[
-1