mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-09 15:52:38 +02:00
add docstring and others
This commit is contained in:
parent
fd6eb8882e
commit
258a0894b8
3 changed files with 116 additions and 101 deletions
|
|
@ -7,6 +7,7 @@ from pydantic import Field, model_validator
|
|||
|
||||
from metagpt.actions.di.ask_review import ReviewConst
|
||||
from metagpt.actions.di.execute_nb_code import ExecuteNbCode
|
||||
from metagpt.actions.di.use_experience import AddNewTrajectories, RetrieveExperiences
|
||||
from metagpt.actions.di.write_analysis_code import CheckData, WriteAnalysisCode
|
||||
from metagpt.logs import logger
|
||||
from metagpt.prompts.di.write_analysis_code import DATA_INFO
|
||||
|
|
@ -89,14 +90,19 @@ class DataInterpreter(Role):
|
|||
async def _plan_and_act(self) -> Message:
|
||||
try:
|
||||
rsp = await super()._plan_and_act()
|
||||
await AddNewTrajectories().run(
|
||||
self.planner
|
||||
) # extract trajectories based on the execution status of each task in the planner
|
||||
await self.execute_code.terminate()
|
||||
return rsp
|
||||
except Exception as e:
|
||||
await self.execute_code.terminate()
|
||||
raise e
|
||||
|
||||
async def _act_on_task(self, current_task: Task, experiences: str) -> TaskResult:
|
||||
async def _act_on_task(self, current_task: Task) -> TaskResult:
|
||||
"""Useful in 'plan_and_act' mode. Wrap the output in a TaskResult for review and confirmation."""
|
||||
# retrieve past tasks for this task
|
||||
experiences = await RetrieveExperiences().run(query=current_task.instruction) if self.use_experience else ""
|
||||
code, result, is_success = await self._write_and_exec_code(experiences=experiences)
|
||||
task_result = TaskResult(code=code, result=result, is_success=is_success)
|
||||
return task_result
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ 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 AddNewTrajectories, RetrieveExperiences
|
||||
from metagpt.context_mixin import ContextMixin
|
||||
from metagpt.logs import logger
|
||||
from metagpt.memory import Memory
|
||||
|
|
@ -491,17 +490,12 @@ class Role(SerializationMixin, ContextMixin, BaseModel):
|
|||
task = self.planner.current_task
|
||||
logger.info(f"ready to take on task {task}")
|
||||
|
||||
# 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)
|
||||
task_result = await self._act_on_task(task)
|
||||
|
||||
# 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
|
||||
|
||||
self.rc.memory.add(rsp) # add to persistent memory
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue