iterative step to code

This commit is contained in:
stellahsr 2023-12-15 00:37:01 +08:00
parent 6a527f214a
commit a42c4144a1

View file

@ -191,16 +191,42 @@ class WriteCodeWithTools(BaseWriteAnalysisCode):
module_name = ML_MODULE_MAP[task_type]
prompt = TOOL_USAGE_PROMPT.format(
user_requirement=plan.goal,
history_code=code_context,
current_task=plan.current_task.instruction,
column_info=column_info,
special_prompt=special_prompt,
code_steps=code_steps,
module_name=module_name,
tool_catalog=tool_catalog,
)
# prompt = TOOL_USAGE_PROMPT.format(
# user_requirement=plan.goal,
# history_code=code_context,
# current_task=plan.current_task.instruction,
# column_info=column_info,
# special_prompt=special_prompt,
# code_steps=code_steps,
# module_name=module_name,
# tool_catalog=tool_catalog,
# )
code_steps_ = eval(code_steps)
print(code_steps_)
new_code = ""
tool_context = ""
for idx, (step_id, step_instruction) in enumerate(code_steps_.items()):
prompt = TOOL_USAGE_PROMPT.format(
user_requirement=plan.goal,
history_code=code_context,
current_task=plan.current_task.instruction,
column_info=column_info,
special_prompt=special_prompt,
code_steps=step_instruction,
module_name=module_name,
tool_catalog=tool_catalog,
)
tool_config = create_func_config(CODE_GENERATOR_WITH_TOOLS)
rsp = await self.llm.aask_code(prompt, **tool_config)
logger.info(f"rsp is: {rsp}")
new_code = new_code + "\n\n" + rsp["code"]
code_context = code_context + "\n\n" + new_code
tool_context = tool_context + "\n\n" + prompt
context = [Message(content=tool_context, role="user")]
return context, new_code
else:
prompt = GENERATE_CODE_PROMPT.format(
user_requirement=plan.goal,