Skip to content

Commit

Permalink
Remove role description specific code in role playing
Browse files Browse the repository at this point in the history
  • Loading branch information
lightaime committed Sep 8, 2023
1 parent 6531ab4 commit daab66c
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 36 deletions.
2 changes: 1 addition & 1 deletion camel/agents/role_assignment_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def __init__(
super().__init__(system_message, model, model_config)

@retry(wait=wait_exponential(min=5, max=60), stop=stop_after_attempt(5))
def run_role_with_description(
def run(
self,
task_prompt: Union[str, TextPrompt],
num_roles: int = 2,
Expand Down
27 changes: 0 additions & 27 deletions camel/societies/role_playing.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,38 +238,11 @@ def get_sys_message_info(
if (extend_sys_msg_meta_dicts is None and self.task_type in [
TaskType.AI_SOCIETY,
TaskType.MISALIGNMENT,
TaskType.ROLE_DESCRIPTION,
]):
extend_sys_msg_meta_dicts = [
dict(assistant_role=assistant_role_name,
user_role=user_role_name) for _ in range(2)
]
elif (self.task_type == TaskType.ROLE_DESCRIPTION):
if (extend_sys_msg_meta_dicts is None
or len(extend_sys_msg_meta_dicts) != 2):
# In `TaskType.ROLE_DESCRIPTION`, `extend_sys_msg_meta_dicts`
# should have two elements, one for assistant and one for user
raise ValueError("`extend_sys_msg_meta_dicts` should have two "
"elements for `TaskType.ROLE_DESCRIPTION`.")
# Validate `extend_sys_msg_meta_dicts` has `assistant_description`
# and `user_description`
if ("assistant_description" not in extend_sys_msg_meta_dicts[0]
or "user_description" not in extend_sys_msg_meta_dicts[0]
or "assistant_description"
not in extend_sys_msg_meta_dicts[1]
or "user_description" not in extend_sys_msg_meta_dicts[1]):
raise ValueError("Ensure both `assistant_description` and "
"`user_description` are not None.")

role_name_msg_meta_dicts = [
dict(assistant_role=assistant_role_name,
user_role=user_role_name) for _ in range(2)
]
extend_sys_msg_meta_dicts = [{
**role_name_msg_meta_dict,
**sys_msg_meta_dict
} for role_name_msg_meta_dict, sys_msg_meta_dict in zip(
role_name_msg_meta_dicts, extend_sys_msg_meta_dicts)]

if extend_sys_msg_meta_dicts is not None:
sys_msg_meta_dicts = [{
Expand Down
4 changes: 2 additions & 2 deletions examples/role_description/role_generation.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ def main(model_type=None, num_roles=3) -> None:
role_description_agent = RoleAssignmentAgent(
model=model_type, model_config=model_config_description)

role_description_dict = role_description_agent.run_role_with_description(
task_prompt=task_prompt, num_roles=num_roles)
role_description_dict = role_description_agent.run(task_prompt=task_prompt,
num_roles=num_roles)

if (len(role_description_dict) != num_roles):
raise ValueError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def main(model_type_for_role_generation=None, model_type=None) -> None:
model=model_type_for_role_generation,
model_config=model_config_description)

role_description_dict = (role_description_agent.run_role_with_description(
role_description_dict = (role_description_agent.run(
task_prompt=task_prompt, num_roles=2))

ai_assistant_role = list(
Expand All @@ -41,16 +41,17 @@ def main(model_type_for_role_generation=None, model_type=None) -> None:
ai_user_description = role_description_dict[ai_user_role]

sys_msg_meta_dicts = [
dict(assistant_description=ai_assistant_description,
dict(assistant_role=ai_assistant_role, user_role=ai_user_role,
assistant_description=ai_assistant_description,
user_description=ai_user_description) for _ in range(2)
]

role_play_session = RolePlaying(
model_type=model_type,
assistant_role_name=ai_assistant_role,
user_role_name=ai_user_role,
task_prompt=task_prompt,
task_type=TaskType.ROLE_DESCRIPTION, # important for role description
model_type=model_type,
task_type=TaskType.ROLE_DESCRIPTION, # Important for role description
with_task_specify=True,
task_specify_agent_kwargs=dict(model=model_type),
extend_sys_msg_meta_dicts=sys_msg_meta_dicts,
Expand Down
3 changes: 1 addition & 2 deletions test/agents/test_role_assignment_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ def test_role_assignment_agent(mock_step, model_type, num_roles):
model=model_type, model_config=model_config_description)

# Generate the role description dictionary based on the mock step function
role_description_dict = role_description_agent.run_role_with_description(
task_prompt, num_roles)
role_description_dict = role_description_agent.run(task_prompt, num_roles)

expected_dict = generate_expected_dict(num_roles)

Expand Down

0 comments on commit daab66c

Please sign in to comment.