Skip to content

Implementing a new role in Taskweaver as part of ext_role #489

@Rmaram07

Description

@Rmaram07

Hi, I am trying to implement a new role ("Reviewer agent") that will check user query, plan, generated output to see if they align well, if not communicate to planner to make necessary changes. I am trying to implement .reply() method and seems like the reply method is not being executed when I run the application. I followed documentation here and here. I made necessary changes to all the script files.

When I tried to run the recepta role or echo role that is already present, I don't see recepta at the planner/code interpretor role level, so my another question is, are these roles output part of planner output or we see a separate entity when I run the application? Can you share more detailed implementation of any particular role? I am having hard time debugging the taskweaver code base.

Looks like code in taskweaver/session/session.py starting from line 183 is not understanding how to call the reply() of Reviewer agent that i started to build.

if recipient == "Planner": reply_post = self.planner.reply( self.memory, prompt_log_path=os.path.join( self.workspace, f"planner_prompt_log_{chat_round.id}_{post.id}.json", ), ) elif recipient in self.worker_instances.keys(): reply_post = self.worker_instances[recipient].reply( self.memory, prompt_log_path=os.path.join( self.workspace, f"code_generator_prompt_log_{chat_round.id}_{post.id}.json", ), ) else: raise Exception(f"Unknown recipient {recipient}")

Below is the reviewer agent python script code that I had written. Can anyone guide me on implementing an ext_role as a new agent that can communicate with planner to make necessary changes before output is shown to the user? If you look at the image below, I have put self.logger.info("reviewer.reply() method called"), I don't see this in my logs when I run the application and start the conversation session, that means my reply method is not being executed.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions