Spaces:
Runtime error
Runtime error
import sys | |
sys.path.append("../") | |
import re | |
from LLM.base_LLM import * | |
from utils import extract | |
from muti_prompts import * | |
llm = OpenAILLM() | |
# design state | |
def gen_coder_task(environment_prompt): | |
chat_history = [{"role":"user","content":f"<target>{environment_prompt}</target>"}] | |
response = llm.get_response(chat_history,gen_coder_task_system_prompt) | |
response = extract(response,"task") | |
print(f"coder_task = {response}") | |
return response | |
def get_cot_result(target): | |
chat_history = [{"role":"user","content":f"<target>{target}</target>"}] | |
response = llm.get_response(chat_history,design_states_cot_system_prompt) | |
print(response) | |
return response | |
def get_desgin_states(target,index): | |
chat_history = [{"role":"user","content":f"<target>{target}</target>"}] | |
design_state_system_prompt = get_design_state_system_prompt(index) | |
response = llm.get_response(chat_history,system_prompt=design_state_system_prompt) | |
print(response) | |
# 使用正则表达式提取数据 | |
pattern = r'<state>(.*?)<\/state>' | |
states = re.findall(pattern, response, re.DOTALL) | |
# 创建包含字典的列表 | |
result_list = [] | |
for state in states: | |
state_name = extract(state,"state_name") | |
roles = extract(state,"roles") | |
environment_prompt = extract(state,"describe") | |
# 创建字典并添加到结果列表 | |
state_dict = { | |
"state_name": state_name, | |
"environment_prompt": environment_prompt, | |
"roles": roles.split(" ") | |
} | |
result_list.append(state_dict) | |
# 打印结果 | |
print("design states") | |
for item in result_list: | |
print(item) | |
return result_list | |
def gen_agent_style(agents,design_states,index): | |
agents_styles = {} | |
scene = "" | |
design_agents_style_system_prompt = get_design_agents_style_system_prompt(index) | |
for design_state in design_states: | |
scene +=design_state["environment_prompt"] + "\n" | |
for agent in agents: | |
chat_history = [{"role":"user","content":f"<scene>{scene}</scene>,<target>{agent}</target>"}] | |
style = llm.get_response(chat_history,design_agents_style_system_prompt) | |
style = extract(style,"style") | |
agents_styles[agent] = style | |
print(agents_styles) | |
return agents_styles | |
def gen_agent_state(agent,environment_prompt,index): | |
design_agent_state_system_prompt = get_design_agent_state_system_prompt(index) | |
agent_state = {} | |
chat_history = [{"role":"user","content":f"<scene>{environment_prompt}</scene>,<target>{agent}</target>"}] | |
response = llm.get_response(chat_history,design_agent_state_system_prompt) | |
role = extract(response,"role") | |
task = extract(response,"task") | |
rule = extract(response,"rule") | |
demonstrations = extract(response,"demonstrations") | |
agent_state["style"] = {"role":role} | |
agent_state["task"] = {"task":task} | |
agent_state["rule"] = {"rule":rule} | |
agent_state["demonstrations"] = {"demonstrations":demonstrations} | |
print(agent_state) | |
return agent_state | |
def gen_begin_role_query(environment_prompt,roles,index): | |
roles = " ".join(roles) | |
design_begin_role_query_system_prompt = get_design_begin_role_query_system_prompt(index) | |
chat_history = [{"role":"user","content":f"<scene>{environment_prompt}</scene>\n<roles>{roles}</roles>"}] | |
response = llm.get_response(chat_history,design_begin_role_query_system_prompt) | |
begin_role = extract(response,"begin_role") | |
begin_query = extract(response,"begin_query") | |
print(f"{begin_role}:{begin_query}") | |
return begin_role,begin_query | |