TDN-M commited on
Commit
c6356dc
·
verified ·
1 Parent(s): 977834c

Update content_generation.py

Browse files
Files changed (1) hide show
  1. content_generation.py +6 -65
content_generation.py CHANGED
@@ -11,33 +11,9 @@ OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
11
  openai_client = OpenAI(api_key=OPENAI_API_KEY)
12
 
13
  # Danh sách loại nội dung và hướng dẫn mặc định cho từng loại
14
- CONTENT_TYPES = ["podcast", "giới thiệu", "triết lý sống", "Theo yêu cầu", "phổ biến kiến thức thống kê"]
15
 
16
  CONTENT_TYPE_INSTRUCTIONS = {
17
- "podcast": """
18
- Write a very long, engaging, informative podcast dialogue here, based on the key points and creative ideas you came up with during the brainstorming session. Use a conversational tone and include any necessary context or explanations to make the content accessible to a general audience.
19
-
20
- Never use made-up names for the hosts and guests, but make it an engaging and immersive experience for listeners. Do not include any bracketed placeholders like [Host] or [Guest]. Design your output to be read aloud -- it will be directly converted into audio.
21
-
22
- Make the dialogue as long and detailed as possible, while still staying on topic and maintaining an engaging flow. Aim to use your full output capacity to create the longest podcast episode you can, while still communicating the key information from the input text in an entertaining way.
23
-
24
- At the end of the dialogue, have the host and guest speakers naturally summarize the main insights and takeaways from their discussion. This should flow organically from the conversation, reiterating the key points in a casual, conversational manner. Avoid making it sound like an obvious recap - the goal is to reinforce the central ideas one last time before signing off.
25
-
26
- The podcast should have around 20000 words.
27
- """,
28
- "giới thiệu": """
29
- Start your script by stating what you are introducing, referencing the title or headings in the input text. If the input text has no title, come up with a succinct summary of what is covered to open.
30
-
31
- Include clear definitions and terms, and examples, of all key issues.
32
-
33
- Do not include any bracketed placeholders like [Host] or [Guest]. Design your output to be read aloud -- it will be directly converted into audio.
34
-
35
- There is only one speaker, you. Stay on topic and maintaining an engaging flow.
36
-
37
- Naturally summarize the main insights and takeaways from the summary. This should flow organically from the conversation, reiterating the key points in a casual, conversational manner.
38
-
39
- The summary should have around 1024 words.
40
- """,
41
  "Theo yêu cầu": """
42
  Bạn hãy nghe theo yêu cầu của người dùng để viết một kịch bản xuất sắc về văn phong, truyền cảm hứng và có giá trị thông tin. Không bao gồm bất kỳ chỗ giữ chỗ nào trong ngoặc như [Host] hoặc [Guest]. Thiết kế đầu ra của bạn để có thể đọc to -- nó sẽ được chuyển đổi trực tiếp thành âm thanh. Chỉ có một người nói, đó là bạn. Giữ đúng chủ đề và duy trì luồng hấp dẫn.
43
 
@@ -45,56 +21,21 @@ Chú trọng vào việc nhấn mạnh những thông điệp quan trọng bằn
45
 
46
  """,
47
  "triết lý sống": """
48
- Bạn cần viết một kịch bản khiến người nghe bị cuốn vào từng câu chữ, vừa mang tính giáo dục, vừa truyền cảm hứng. Hãy viết với giọng văn chậm rãi, giàu cảm xúc, như đang kể một câu chuyện có sức nặng.
49
-
50
- Không bao gồm bất kỳ chỗ giữ chỗ nào trong ngoặc như [Host] hoặc [Guest]. Thiết kế đầu ra của bạn để có thể đọc to -- nó sẽ được chuyển đổi trực tiếp thành âm thanh.
51
-
52
- Chỉ có một người nói, đó là bạn. Giữ đúng chủ đề và duy trì luồng hấp dẫn.
53
 
54
- Chú trọng vào việc nhấn mạnh những thông điệp quan trọng bằng ngôn từ mạnh mẽ, ấn tượng. Văn phong cần có sự kết hợp giữa sự nhẹ nhàng, tĩnh lặng như một lời tâm sự, nhưng cũng đủ sức khơi gợi suy nghĩ sâu xa. Mỗi đoạn nội dung cần có điểm nhấn đáng nhớ, dễ in sâu vào tâm trí người nghe. Hãy đảm bảo nội dung rõ ràng, mạch lạc, và truyền tải được sự ấm áp, chân thành.
55
 
56
- Độ dài kịch bản này khoảng 1000 từ.
57
-
58
- """,
59
- "phổ biến kiến thức thống kê": """
60
- Mục đích: Trình bày và phổ biến thông tin thống kê chính thống, dựa trên Báo cáo tình hình kinh tế - xã hội Việt Nam, giúp người nghe hiểu và sử dụng hiệu quả các số liệu thống kê.
61
- Tone giọng:
62
- - Thân thiện, truyền cảm, rõ ràng, dễ hiểu.
63
- - Mang tính phổ biến thông tin, thể hiện sự chính thống.
64
- - Giọng nữ, chuẩn Hà Nội, tạo sự dễ chịu và tiếp cận dễ dàng cho người nghe.
65
- Thời lượng: Khoảng 7 phút.
66
- Cấu trúc:
67
- 1. **Mở đầu**:
68
- - Bắt đầu bằng một câu hỏi hoặc tình huống thực tế để thu hút sự chú ý, ví dụ:
69
- "Bạn có biết rằng Báo cáo tình hình kinh tế - xã hội Việt Nam là nguồn thông tin chính thống giúp các cơ quan và chính quyền các cấp đánh giá, dự báo tình hình và hoạch định chiến lược?"
70
- 2. **Triển khai nội dung chính**:
71
- - Khái quát các động thái, xu hướng kinh tế - xã hội của Việt Nam dựa trên các số liệu trong báo cáo.
72
- - Chia nhỏ thông tin theo từng lĩnh vực, như:
73
- - (1) Sản xuất nông, lâm nghiệp và thủy sản.
74
- - (2) Sản xuất công nghiệp.
75
- - (3) Tình hình đăng ký doanh nghiệp.
76
- - (4) Đầu tư.
77
- - (5) Thu, chi ngân sách Nhà nước.
78
- - (6) Thương mại, giá cả, vận tải và du lịch.
79
- - (7) Một số tình hình xã hội.
80
- - Minh họa bằng các biểu đồ, đồ thị và bảng số liệu cụ thể.
81
-
82
- 3. **Kết thúc**:
83
- - Kết thúc bằng một thông điệp khuyến khích người nghe sử dụng thông tin thống kê, ví dụ:
84
- "Báo cáo tình hình kinh tế - xã hội cung cấp bức tranh tổng thể, giúp bạn đưa ra các quyết định thông minh và hiệu quả hơn."
85
-
86
- Mục tiêu: Giúp người nghe hiểu rõ giá trị của báo cáo thống kê kinh tế - xã hội, cũng như khuyến khích họ sử dụng thông tin chính thống để hỗ trợ quá trình ra quyết định đúng đắn.
87
  """
88
  }
89
 
90
  def create_content(prompt, content_type, language):
91
  content_type_instructions = CONTENT_TYPE_INSTRUCTIONS.get(content_type, "")
92
  general_instructions = f"""
93
- Bạn là một trợ lý sáng tạo, chuyên viết kịch bản lồng tiếng cho video với văn phong chuyên nghiệp, sâu sắc và cuốn hút. Nhiệm vụ của bạn là tạo ra nội dung khiến người nghe bị cuốn vào từng câu chữ nhờ thông tin đưaa ra có giá trị và truyền cảm hứng.
94
- Bạn sẽ chỉ viết nội dung sẽ thu âm thành tiếng mà không cần có thêm các phần chú thích trong ngoặc vuông hay ngoặc tròn. Tuân thủ các hướng dẫn cụ thể cho thể loại {content_type}, như được mô tả dưới đây:
95
  {content_type_instructions}
96
 
97
-
98
  Ngôn ngữ sử dụng: {language}
99
  """
100
 
 
11
  openai_client = OpenAI(api_key=OPENAI_API_KEY)
12
 
13
  # Danh sách loại nội dung và hướng dẫn mặc định cho từng loại
14
+ CONTENT_TYPES = ["triết lý sống", "Theo yêu cầu"]
15
 
16
  CONTENT_TYPE_INSTRUCTIONS = {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  "Theo yêu cầu": """
18
  Bạn hãy nghe theo yêu cầu của người dùng để viết một kịch bản xuất sắc về văn phong, truyền cảm hứng và có giá trị thông tin. Không bao gồm bất kỳ chỗ giữ chỗ nào trong ngoặc như [Host] hoặc [Guest]. Thiết kế đầu ra của bạn để có thể đọc to -- nó sẽ được chuyển đổi trực tiếp thành âm thanh. Chỉ có một người nói, đó là bạn. Giữ đúng chủ đề và duy trì luồng hấp dẫn.
19
 
 
21
 
22
  """,
23
  "triết lý sống": """
24
+ Bạn cần viết một kịch bản xuất sắc, ngắn gọn nhưng súc tích với từng câu từng chữ được sử dụng một cách khéo léo, từ mở đầu đến kết thúc phải để người nghe cảm nhận những giá trị lớn mà kinh nghiệm bạn đang chia sẻ sẽ mang đến cho họ. Sử dụng văn phong văn chậm rãi, giàu cảm xúc, như đang kể một câu chuyện có sức nặng.
 
 
 
 
25
 
26
+ Văn phong cần có sự kết hợp giữa sự nhẹ nhàng, tĩnh lặng như một lời tâm sự, nhưng cũng đủ sức khơi gợi suy nghĩ sâu xa. Mỗi đoạn nội dung cần có điểm nhấn đáng nhớ, dễ in sâu vào tâm trí người nghe.
27
 
28
+ Độ dài kịch bản này không vượt quá 1000 từ.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  """
30
  }
31
 
32
  def create_content(prompt, content_type, language):
33
  content_type_instructions = CONTENT_TYPE_INSTRUCTIONS.get(content_type, "")
34
  general_instructions = f"""
35
+ Bạn là một trợ lý viết kịch bản lời thoại cho video với văn phong chuyên nghiệp, sâu sắc và cuốn hút. Nhiệm vụ của bạn là tạo ra nội dung khiến người nghe bị cuốn vào từng câu chữ nhờ thông tin đưa ra có giá trị và truyền cảm hứng.
36
+ Bạn sẽ chỉ viết nội dung sẽ thu âm thành tiếng mà không cần có thêm các phần chú thích trong ngoặc vuông hay ngoặc tròn hay bất ký giải thích nào khác của bạn. Tuân thủ các hướng dẫn cụ thể cho thể loại {content_type}, như được mô tả dưới đây:
37
  {content_type_instructions}
38
 
 
39
  Ngôn ngữ sử dụng: {language}
40
  """
41