youngtsai commited on
Commit
7579b99
·
1 Parent(s): 3b9c668

verify_moderation add client

Browse files
Files changed (1) hide show
  1. app.py +10 -13
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 = OPEN_AI_MODERATION_CLIENT.moderations.create(input=text)
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)