AgentVerse's picture
bump version to 0.1.8
01523b5
from __future__ import annotations
from typing import TYPE_CHECKING, List, Tuple
from . import updater_registry as UpdaterRegistry
from .basic import BasicUpdater
from agentverse.message import Message
if TYPE_CHECKING:
from agentverse.environments import BaseEnvironment
@UpdaterRegistry.register("classroom")
class ClassroomUpdater(BasicUpdater):
def update_memory(self, environment: BaseEnvironment):
added = False
for message in environment.last_messages:
if len(message.tool_response) > 0:
self.add_tool_response(
message.sender, environment.agents, message.tool_response
)
if message.content == "":
continue
added |= self.add_message_to_all_agents(environment.agents, message)
# If no one speaks in this turn. Add an empty message to all agents
if not added:
for agent in environment.agents:
agent.add_message_to_memory([Message(content="[Silence]")])
if environment.rule_params.get("is_grouped", False):
# When discussing, telling the professor that the group is discussing
environment.agents[0].add_message_to_memory(
[Message(content="[Discussing]")]
)