pre-commit

This commit is contained in:
luxiangtao 2024-04-15 17:50:11 +08:00
parent e9603c6f03
commit fd6eb8882e
4 changed files with 67 additions and 61 deletions

View file

@ -123,7 +123,9 @@ class DataInterpreter(Role):
while not success and counter < max_retry:
### write code ###
code, cause_by = await self._write_code(counter, plan_status, tool_info, experiences = experiences if counter == 0 else "")
code, cause_by = await self._write_code(
counter, plan_status, tool_info, experiences=experiences if counter == 0 else ""
)
self.working_memory.add(Message(content=code, role="assistant", cause_by=cause_by))
@ -144,13 +146,7 @@ class DataInterpreter(Role):
return code, result, success
async def _write_code(
self,
counter: int,
plan_status: str = "",
tool_info: str = "",
experiences: str = ""
):
async def _write_code(self, counter: int, plan_status: str = "", tool_info: str = "", experiences: str = ""):
todo = self.rc.todo # todo is WriteAnalysisCode
logger.info(f"ready to {todo.name}")
use_reflection = counter > 0 and self.use_reflection # only use reflection after the first trial
@ -163,7 +159,7 @@ class DataInterpreter(Role):
tool_info=tool_info,
working_memory=self.working_memory.get(),
use_reflection=use_reflection,
experiences = experiences
experiences=experiences,
)
return code, todo

View file

@ -30,12 +30,12 @@ from pydantic import BaseModel, ConfigDict, Field, SerializeAsAny, model_validat
from metagpt.actions import Action, ActionOutput
from metagpt.actions.action_node import ActionNode
from metagpt.actions.add_requirement import UserRequirement
from metagpt.actions.di.use_experience import RetrieveExperiences, AddNewTrajectories
from metagpt.actions.di.use_experience import AddNewTrajectories, RetrieveExperiences
from metagpt.context_mixin import ContextMixin
from metagpt.logs import logger
from metagpt.memory import Memory
from metagpt.provider import HumanProvider
from metagpt.schema import Message, MessageQueue, SerializationMixin, TaskResult, Task
from metagpt.schema import Message, MessageQueue, SerializationMixin, Task, TaskResult
from metagpt.strategy.planner import Planner
from metagpt.utils.common import any_to_name, any_to_str, role_raise_decorator
from metagpt.utils.project_repo import ProjectRepo
@ -493,13 +493,13 @@ class Role(SerializationMixin, ContextMixin, BaseModel):
# retrieve past tasks for this task
experiences = await RetrieveExperiences().run(query=task.instruction) if self.use_experience else ""
# take on current task
task_result = await self._act_on_task(task, experiences)
# process the result, such as reviewing, confirming, plan updating
await self.planner.process_task_result(task_result)
await AddNewTrajectories().run(self.planner)
rsp = self.planner.get_useful_memories()[0] # return the completed plan as a response