Spaces:
Runtime error
Runtime error
prompt = f"您將進行一場以{theme}為主題的對話。{role1} (gender: {role1_gender}) 和{role2} (gender: {role2_gender})將是參與者。請依次交談{rounds}輪。(1輪對話的定義是 {role1} 和 {role2} 各說一句話,總共 {sentenses_count} 句話。)以json格式儲存對話。並回傳對話JSON文件。格式為:[{{role:\"{role1}\", \"gender\": {role1_gender} , content: \".....\"}}, {{role:\"{role2}\", \"gender\": {role2_gender}, content: \".....\"}}]"
Browse files
app.py
CHANGED
@@ -54,13 +54,13 @@ def extract_json_from_response(response_text):
|
|
54 |
raise ValueError("JSON dialogue not found in the response.")
|
55 |
|
56 |
|
57 |
-
def create_chat_dialogue(rounds, role1, role2, theme, language):
|
58 |
openai.api_key = os.environ["OPEN_AI_KEY"]
|
59 |
|
60 |
# 初始化對話
|
61 |
sentenses_count = int(rounds) * 2
|
62 |
sys_content = f"你是一個{language}家教,請用{language}生成對話"
|
63 |
-
prompt = f"您將進行一場以{theme}為主題的對話。{role1}和{role2}將是參與者。請依次交談{rounds}輪。(1輪對話的定義是 {role1} 和 {role2} 各說一句話,總共 {sentenses_count} 句話。)以json格式儲存對話。並回傳對話JSON文件。格式為:[{{role:\"{role1}\", content: \".....\"}}, {{role:\"{role2}\", content: \".....\"}}]"
|
64 |
messages = [
|
65 |
{"role": "system", "content": sys_content},
|
66 |
{"role": "user", "content": prompt}
|
@@ -88,18 +88,18 @@ def create_chat_dialogue(rounds, role1, role2, theme, language):
|
|
88 |
return dialogue
|
89 |
|
90 |
|
91 |
-
def generate_dialogue(rounds, method, role1, role2, theme, language):
|
92 |
if method == "auto":
|
93 |
-
dialogue = create_chat_dialogue(rounds, role1, role2, theme, language)
|
94 |
else:
|
95 |
-
dialogue = [{"role": role1, "content": "手動輸入文本 1"}, {"role": role2, "content": "手動輸入文本 2"}]
|
96 |
return dialogue
|
97 |
|
98 |
def main_function(password: str, theme: str, language: str, method: str, rounds: int, role1: str, role1_gender: str, role2: str, role2_gender: str):
|
99 |
if password != os.environ.get("PASSWORD", ""):
|
100 |
return "错误的密码,请重新输入。", ""
|
101 |
|
102 |
-
structured_dialogue = generate_dialogue(rounds, method, role1, role2, theme, language)
|
103 |
|
104 |
# Convert structured dialogue for Chatbot component to show "role1: content1" and "role2: content2" side by side
|
105 |
chatbot_dialogue = []
|
|
|
54 |
raise ValueError("JSON dialogue not found in the response.")
|
55 |
|
56 |
|
57 |
+
def create_chat_dialogue(rounds, role1, role1_gender, role2, role2_gender, theme, language):
|
58 |
openai.api_key = os.environ["OPEN_AI_KEY"]
|
59 |
|
60 |
# 初始化對話
|
61 |
sentenses_count = int(rounds) * 2
|
62 |
sys_content = f"你是一個{language}家教,請用{language}生成對話"
|
63 |
+
prompt = f"您將進行一場以{theme}為主題的對話。{role1} (gender: {role1_gender}) 和{role2} (gender: {role2_gender})將是參與者。請依次交談{rounds}輪。(1輪對話的定義是 {role1} 和 {role2} 各說一句話,總共 {sentenses_count} 句話。)以json格式儲存對話。並回傳對話JSON文件。格式為:[{{role:\"{role1}\", \"gender\": {role1_gender} , content: \".....\"}}, {{role:\"{role2}\", \"gender\": {role2_gender}, content: \".....\"}}]"
|
64 |
messages = [
|
65 |
{"role": "system", "content": sys_content},
|
66 |
{"role": "user", "content": prompt}
|
|
|
88 |
return dialogue
|
89 |
|
90 |
|
91 |
+
def generate_dialogue(rounds, method, role1, role1_gender, role2, role2_gender, theme, language):
|
92 |
if method == "auto":
|
93 |
+
dialogue = create_chat_dialogue(rounds, role1, role1_gender, role2, role2_gender, theme, language)
|
94 |
else:
|
95 |
+
dialogue = [{"role": role1, "gender": role1_gender, "content": "手動輸入文本 1"}, {"role": role2, "gender": role2_gender , "content": "手動輸入文本 2"}]
|
96 |
return dialogue
|
97 |
|
98 |
def main_function(password: str, theme: str, language: str, method: str, rounds: int, role1: str, role1_gender: str, role2: str, role2_gender: str):
|
99 |
if password != os.environ.get("PASSWORD", ""):
|
100 |
return "错误的密码,请重新输入。", ""
|
101 |
|
102 |
+
structured_dialogue = generate_dialogue(rounds, method, role1, role1_gender, role2, role2_gender, theme, language)
|
103 |
|
104 |
# Convert structured dialogue for Chatbot component to show "role1: content1" and "role2: content2" side by side
|
105 |
chatbot_dialogue = []
|