跳到主要内容

graph_utils

has_self_loops

def has_self_loops(allowed_speaker_transitions: Dict) -> bool

如果allowed_speaker_transitions_Dict中存在自循环,返回True。

检查图形有效性

def check_graph_validity(allowed_speaker_transitions_dict: Dict,
agents: List[Agent])

allowed_speaker_transitions_dict: 一个键和列表作为值的字典。键是代理的名称,值是该键代理可以转换到的代理名称。 agents: 一个代理列表

检查以下内容: 错误

  1. 字典必须具有键和列表作为值的结构
  2. 每个键都存在于代理中。
  3. 每个值都是代理列表(不是字符串)。

警告

  1. 如果有孤立的代理节点,给出警告
  2. 如果 allowed_speaker_transitions 中的代理集合与代理不匹配时发出警告
  3. 如果在 allowed_speaker_transitions_dict 的任何值中存在重复的代理,则发出警告

invert_disallowed_to_allowed

def invert_disallowed_to_allowed(disallowed_speaker_transitions_dict: dict,
agents: List[Agent]) -> dict

从所有代理的完全连接的allowed_speaker_transitions_dict开始。根据disallowed_speaker_transitions_dict从完全连接的allowed_speaker_transitions_dict中移除边,以形成最终的allowed_speaker_transitions_dict。

可视化说话者转换字典

def visualize_speaker_transitions_dict(speaker_transitions_dict: dict,
agents: List[Agent],
export_path: Optional[str] = None)

使用networkx可视化speaker_transitions_dict。