Spaces:
Running
Running
_build_fine_tune_user_content
Browse files- educational_material.py +17 -29
educational_material.py
CHANGED
@@ -44,13 +44,28 @@ class EducationalMaterial:
|
|
44 |
|
45 |
def get_fine_tuned_ai_content(self, ai_client, ai_type, original_prompt, result, fine_tune_prompt):
|
46 |
system_content = self.system_content
|
47 |
-
user_content = self.
|
48 |
if ai_type.lower() == "openai":
|
49 |
return self.send_openai_request(ai_client, system_content, user_content)
|
50 |
elif ai_type.lower() == "bedrock":
|
51 |
return self.send_bedrock_request(ai_client, system_content, user_content)
|
52 |
else:
|
53 |
raise ValueError("Unsupported AI type. Please choose 'openai' or 'redrock'.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
def send_openai_request(self, AI_Client, system_content, user_content):
|
56 |
OPEN_AI_CLIENT = AI_Client
|
@@ -514,31 +529,4 @@ class EducationalMaterial:
|
|
514 |
print("====User content====")
|
515 |
return user_content
|
516 |
|
517 |
-
|
518 |
-
messages = [{"role": "system", "content": self.system_content},
|
519 |
-
{"role": "user", "content": user_content}]
|
520 |
-
return messages
|
521 |
-
|
522 |
-
def send_ai_request(self, ai_client, request_payload):
|
523 |
-
try:
|
524 |
-
response = ai_client.chat.completions.create(**request_payload)
|
525 |
-
response_content = response.choices[0].message.content.strip()
|
526 |
-
return response_content
|
527 |
-
except Exception as e:
|
528 |
-
print(f"An error occurred: {e}")
|
529 |
-
return "Error generating content."
|
530 |
-
|
531 |
-
def build_fine_tune_user_content(self, original_prompt, result, fine_tune_prompt):
|
532 |
-
user_content = f"""
|
533 |
-
這是逐字稿:{self.context}
|
534 |
-
---
|
535 |
-
這是預設的 prompt
|
536 |
-
{original_prompt}
|
537 |
-
---
|
538 |
-
產生了以下的結果:
|
539 |
-
{result}
|
540 |
-
---
|
541 |
-
但我不是很滿意,請根據以下的調整,產生新的結果
|
542 |
-
{fine_tune_prompt}
|
543 |
-
"""
|
544 |
-
return user_content
|
|
|
44 |
|
45 |
def get_fine_tuned_ai_content(self, ai_client, ai_type, original_prompt, result, fine_tune_prompt):
|
46 |
system_content = self.system_content
|
47 |
+
user_content = self._build_fine_tune_user_content(original_prompt, result, fine_tune_prompt)
|
48 |
if ai_type.lower() == "openai":
|
49 |
return self.send_openai_request(ai_client, system_content, user_content)
|
50 |
elif ai_type.lower() == "bedrock":
|
51 |
return self.send_bedrock_request(ai_client, system_content, user_content)
|
52 |
else:
|
53 |
raise ValueError("Unsupported AI type. Please choose 'openai' or 'redrock'.")
|
54 |
+
|
55 |
+
def _build_fine_tune_user_content(self, original_prompt, result, fine_tune_prompt):
|
56 |
+
user_content = f"""
|
57 |
+
這是逐字稿:{self.context}
|
58 |
+
---
|
59 |
+
這是預設的 prompt
|
60 |
+
{original_prompt}
|
61 |
+
---
|
62 |
+
產生了以下的結果:
|
63 |
+
{result}
|
64 |
+
---
|
65 |
+
但我不是很滿意,請根據以下的調整,產生新的結果
|
66 |
+
{fine_tune_prompt}
|
67 |
+
"""
|
68 |
+
return user_content
|
69 |
|
70 |
def send_openai_request(self, AI_Client, system_content, user_content):
|
71 |
OPEN_AI_CLIENT = AI_Client
|
|
|
529 |
print("====User content====")
|
530 |
return user_content
|
531 |
|
532 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|