Spaces:
Runtime error
Runtime error
from design_states import gen_agent_style,gen_agent_state,gen_begin_role_query | |
def get_agent_names(design_states): | |
agents_name = set() | |
for design_state in design_states: | |
for role in design_state["roles"]: | |
agents_name.add(role) | |
return list(agents_name) | |
def get_final_agents(agents,design_states): | |
final_agents = {} | |
for agent,style in agents.items(): | |
final_agents[agent] = {"style":"","roles":{}} | |
final_agents[agent]["style"] = style | |
for design_state in design_states: | |
if agent in design_state["roles"]: | |
final_agents[agent]["roles"][design_state["state_name"]] = agent | |
return final_agents | |
def get_agents(design_states,index): | |
agents = get_agent_names(design_states) | |
agents = gen_agent_style(agents,design_states,index) | |
agents = get_final_agents(agents,design_states) | |
return agents | |
def get_relations(design_states): | |
relations = {} | |
n = len(design_states) | |
for i in range(n): | |
relations[design_states[i]["state_name"]] = {} | |
relations[design_states[i]["state_name"]]["0"] = design_states[i]["state_name"] | |
relations[design_states[i]["state_name"]]["1"] = design_states[i+1]["state_name"] if i!=n-1 else "end_state" | |
return relations | |
def gen_states(design_states,index): | |
states = {"end_state":{ | |
"agent_states":{} | |
}} | |
for design_state in design_states: | |
state_name = design_state["state_name"] | |
environment_prompt = design_state["environment_prompt"] | |
roles = design_state["roles"] | |
max_chat_nums = 1 if len(roles)==1 else len(roles)*2 | |
states[state_name] = {"controller":{"controller_type": "order", "max_chat_nums" : max_chat_nums},"environment_prompt":environment_prompt,"roles":roles} | |
agent_state = {} | |
for role in roles: | |
agent_state[role] = gen_agent_state(role,environment_prompt,index) | |
states[state_name]["agent_states"] = agent_state | |
begin_role,begin_query = gen_begin_role_query(environment_prompt,roles,index) | |
begin_role = ("_").join(begin_role.split(" ")) | |
print(begin_role) | |
if begin_role not in roles: | |
begin_role = begin_role +"_1" | |
if begin_role in roles: | |
states[state_name]["begin_role"] = begin_role | |
states[state_name]["begin_query"] = begin_query | |
return states | |