Spaces:
Sleeping
Sleeping
verify_moderation add client
Browse files
app.py
CHANGED
@@ -41,7 +41,6 @@ if is_env_local:
|
|
41 |
CUTOR_OPEN_AI_ASSISTANT_ID = config["CUTOR_OPEN_AI_ASSISTANT_ID"]
|
42 |
CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID = config["CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID"]
|
43 |
CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID = config["CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID"]
|
44 |
-
OPEN_AI_MODERATION_BOT1 = config["OPEN_AI_MODERATION_BOT1"]
|
45 |
|
46 |
else:
|
47 |
OPEN_AI_KEY = os.getenv("OPEN_AI_KEY")
|
@@ -50,11 +49,9 @@ else:
|
|
50 |
CUTOR_OPEN_AI_ASSISTANT_ID = os.getenv("CUTOR_OPEN_AI_ASSISTANT_ID")
|
51 |
CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID = os.getenv("CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID")
|
52 |
CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID = os.getenv("CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID")
|
53 |
-
OPEN_AI_MODERATION_BOT1 = os.getenv("OPEN_AI_MODERATION_BOT1", OPEN_AI_KEY)
|
54 |
|
55 |
OPEN_AI_CLIENT = OpenAI(api_key=OPEN_AI_KEY)
|
56 |
CUTOR_OPEN_AI_CLIENT = OpenAI(api_key=CUTOR_OPEN_AI_KEY)
|
57 |
-
OPEN_AI_MODERATION_CLIENT = OpenAI(api_key=OPEN_AI_MODERATION_BOT1)
|
58 |
|
59 |
# 設置 Google Cloud Storage 客户端
|
60 |
GCS_SERVICE = GoogleCloudStorage(GCS_KEY)
|
@@ -1594,8 +1591,8 @@ def verify_string_length_short(text):
|
|
1594 |
if len(text) < 100:
|
1595 |
raise gr.Error("輸入的文字長度過短,少於 100字,請重新輸入!")
|
1596 |
|
1597 |
-
def verify_moderation(text):
|
1598 |
-
response =
|
1599 |
response_dict = response.model_dump()
|
1600 |
is_flagged = response_dict['results'][0]['flagged']
|
1601 |
print("========get_chat_moderation==========")
|
@@ -1784,7 +1781,7 @@ def get_chinese_paragraph_1st_evaluate_content(
|
|
1784 |
paragraph,
|
1785 |
):
|
1786 |
verify_string_length(paragraph)
|
1787 |
-
verify_moderation(paragraph)
|
1788 |
verify_string_length_short(paragraph)
|
1789 |
|
1790 |
size_count_prompt = generate_size_count_prompt(paragraph)
|
@@ -1866,7 +1863,7 @@ def get_chinese_paragraph_refine_evaluate_content(
|
|
1866 |
paragraph_2,
|
1867 |
):
|
1868 |
verify_string_length(paragraph_2)
|
1869 |
-
verify_moderation(paragraph_2)
|
1870 |
verify_string_length_short(paragraph_2)
|
1871 |
|
1872 |
size_count_prompt = generate_size_count_prompt(paragraph_2)
|
@@ -1945,7 +1942,7 @@ def get_chinese_paragraph_refine_evaluate_content(
|
|
1945 |
|
1946 |
# 小學作文機器人
|
1947 |
def generate_content_by_open_ai_assistant(user_content, thread_id=None, model_name=None):
|
1948 |
-
verify_moderation(user_content)
|
1949 |
|
1950 |
client = CUTOR_OPEN_AI_CLIENT
|
1951 |
assistant_id = CUTOR_OPEN_AI_ASSISTANT_ID
|
@@ -1993,7 +1990,7 @@ def generate_content_by_open_ai_assistant(user_content, thread_id=None, model_na
|
|
1993 |
|
1994 |
# 錯別字機器人
|
1995 |
def generate_content_by_open_ai_assistant_spelling_robot(paragraph, thread_id=None, model_name=None):
|
1996 |
-
verify_moderation(paragraph)
|
1997 |
|
1998 |
client = CUTOR_OPEN_AI_CLIENT
|
1999 |
assistant_id = CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID
|
@@ -2069,7 +2066,7 @@ def generate_content_by_open_ai_assistant_spelling_robot(paragraph, thread_id=No
|
|
2069 |
|
2070 |
# 結構 assistant id
|
2071 |
def generate_content_by_open_ai_assistant_structure_robot(paragraph, thread_id=None, model_name=None):
|
2072 |
-
verify_moderation(paragraph)
|
2073 |
|
2074 |
client = CUTOR_OPEN_AI_CLIENT
|
2075 |
assistant_id = CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID
|
@@ -2165,7 +2162,7 @@ def duplicate_element(element):
|
|
2165 |
return element
|
2166 |
|
2167 |
def generate_chinese_essay_idea(model, user_prompt, chinese_essay_title_input):
|
2168 |
-
verify_moderation(chinese_essay_title_input)
|
2169 |
|
2170 |
sys_content = "你是一位老師,正在和我一起練習提高我的寫作技能。 給予的回覆不超過 500字。 用 Markdown 語法回答。"
|
2171 |
user_content = f"""
|
@@ -2194,8 +2191,8 @@ def generate_chinese_essay_idea(model, user_prompt, chinese_essay_title_input):
|
|
2194 |
return content
|
2195 |
|
2196 |
def check_chinese_essay_feedback(feedback_check_prompt, chinese_essay_from_student_input, chinese_essay_feedback_check_input):
|
2197 |
-
verify_moderation(chinese_essay_from_student_input)
|
2198 |
-
verify_moderation(chinese_essay_feedback_check_input)
|
2199 |
|
2200 |
verify_string_length_short(chinese_essay_from_student_input)
|
2201 |
verify_string_length_short(chinese_essay_feedback_check_input)
|
|
|
41 |
CUTOR_OPEN_AI_ASSISTANT_ID = config["CUTOR_OPEN_AI_ASSISTANT_ID"]
|
42 |
CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID = config["CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID"]
|
43 |
CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID = config["CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID"]
|
|
|
44 |
|
45 |
else:
|
46 |
OPEN_AI_KEY = os.getenv("OPEN_AI_KEY")
|
|
|
49 |
CUTOR_OPEN_AI_ASSISTANT_ID = os.getenv("CUTOR_OPEN_AI_ASSISTANT_ID")
|
50 |
CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID = os.getenv("CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID")
|
51 |
CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID = os.getenv("CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID")
|
|
|
52 |
|
53 |
OPEN_AI_CLIENT = OpenAI(api_key=OPEN_AI_KEY)
|
54 |
CUTOR_OPEN_AI_CLIENT = OpenAI(api_key=CUTOR_OPEN_AI_KEY)
|
|
|
55 |
|
56 |
# 設置 Google Cloud Storage 客户端
|
57 |
GCS_SERVICE = GoogleCloudStorage(GCS_KEY)
|
|
|
1591 |
if len(text) < 100:
|
1592 |
raise gr.Error("輸入的文字長度過短,少於 100字,請重新輸入!")
|
1593 |
|
1594 |
+
def verify_moderation(text, client):
|
1595 |
+
response = client.moderations.create(input=text)
|
1596 |
response_dict = response.model_dump()
|
1597 |
is_flagged = response_dict['results'][0]['flagged']
|
1598 |
print("========get_chat_moderation==========")
|
|
|
1781 |
paragraph,
|
1782 |
):
|
1783 |
verify_string_length(paragraph)
|
1784 |
+
verify_moderation(paragraph, client=CUTOR_OPEN_AI_CLIENT)
|
1785 |
verify_string_length_short(paragraph)
|
1786 |
|
1787 |
size_count_prompt = generate_size_count_prompt(paragraph)
|
|
|
1863 |
paragraph_2,
|
1864 |
):
|
1865 |
verify_string_length(paragraph_2)
|
1866 |
+
verify_moderation(paragraph_2, client=CUTOR_OPEN_AI_CLIENT)
|
1867 |
verify_string_length_short(paragraph_2)
|
1868 |
|
1869 |
size_count_prompt = generate_size_count_prompt(paragraph_2)
|
|
|
1942 |
|
1943 |
# 小學作文機器人
|
1944 |
def generate_content_by_open_ai_assistant(user_content, thread_id=None, model_name=None):
|
1945 |
+
verify_moderation(user_content, client=CUTOR_OPEN_AI_CLIENT)
|
1946 |
|
1947 |
client = CUTOR_OPEN_AI_CLIENT
|
1948 |
assistant_id = CUTOR_OPEN_AI_ASSISTANT_ID
|
|
|
1990 |
|
1991 |
# 錯別字機器人
|
1992 |
def generate_content_by_open_ai_assistant_spelling_robot(paragraph, thread_id=None, model_name=None):
|
1993 |
+
verify_moderation(paragraph, client=CUTOR_OPEN_AI_CLIENT)
|
1994 |
|
1995 |
client = CUTOR_OPEN_AI_CLIENT
|
1996 |
assistant_id = CUTOR_OPEN_AI_ASSISTANT_SPELLING_ID
|
|
|
2066 |
|
2067 |
# 結構 assistant id
|
2068 |
def generate_content_by_open_ai_assistant_structure_robot(paragraph, thread_id=None, model_name=None):
|
2069 |
+
verify_moderation(paragraph, client=CUTOR_OPEN_AI_CLIENT)
|
2070 |
|
2071 |
client = CUTOR_OPEN_AI_CLIENT
|
2072 |
assistant_id = CUTOR_OPEN_AI_STRUCTURE_ASSISTANT_ID
|
|
|
2162 |
return element
|
2163 |
|
2164 |
def generate_chinese_essay_idea(model, user_prompt, chinese_essay_title_input):
|
2165 |
+
verify_moderation(chinese_essay_title_input, client=CUTOR_OPEN_AI_CLIENT)
|
2166 |
|
2167 |
sys_content = "你是一位老師,正在和我一起練習提高我的寫作技能。 給予的回覆不超過 500字。 用 Markdown 語法回答。"
|
2168 |
user_content = f"""
|
|
|
2191 |
return content
|
2192 |
|
2193 |
def check_chinese_essay_feedback(feedback_check_prompt, chinese_essay_from_student_input, chinese_essay_feedback_check_input):
|
2194 |
+
verify_moderation(chinese_essay_from_student_input, client=CUTOR_OPEN_AI_CLIENT)
|
2195 |
+
verify_moderation(chinese_essay_feedback_check_input, client=CUTOR_OPEN_AI_CLIENT)
|
2196 |
|
2197 |
verify_string_length_short(chinese_essay_from_student_input)
|
2198 |
verify_string_length_short(chinese_essay_feedback_check_input)
|