Update content_generation.py
Browse files- content_generation.py +53 -26
content_generation.py
CHANGED
@@ -11,41 +11,68 @@ 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", "
|
|
|
15 |
CONTENT_TYPE_INSTRUCTIONS = {
|
16 |
"podcast": """
|
17 |
-
Tone giọng: Gần gũi, thân thiện nhưng
|
18 |
-
Cấu trúc:
|
19 |
-
-
|
20 |
-
- Triển khai các luận điểm theo
|
21 |
-
-
|
22 |
-
- Kết thúc
|
23 |
-
Mục tiêu:
|
24 |
""",
|
25 |
"giới thiệu": """
|
26 |
-
Tone giọng: Chuyên nghiệp,
|
27 |
Cấu trúc:
|
28 |
-
-
|
29 |
-
- Giải thích mục tiêu của
|
30 |
-
- Kết thúc
|
31 |
-
Mục tiêu: Đưa ra thông tin cô đọng
|
32 |
""",
|
33 |
"triết lý sống": """
|
34 |
-
Tone giọng:
|
35 |
Cấu trúc:
|
36 |
-
- Bắt đầu bằng một câu hỏi
|
37 |
-
- Triển khai
|
38 |
-
- Kết thúc
|
39 |
-
Mục tiêu: Khơi gợi suy nghĩ sâu sắc về cuộc sống
|
40 |
""",
|
41 |
-
"
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
Cấu trúc:
|
44 |
-
|
45 |
-
-
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
"""
|
50 |
}
|
51 |
|
@@ -64,7 +91,7 @@ Chỉ có một người nói duy nhất: chính bạn. Giữ đúng chủ đề
|
|
64 |
|
65 |
Kết thúc bằng việc tóm tắt tự nhiên những bài học và hiểu biết chính từ nội dung đã thảo luận. Hãy nhắc lại các điểm chính một cách thoải mái, giống như trong một cuộc trò chuyện thông thường.
|
66 |
|
67 |
-
Kịch bản nên có độ dài khoảng 3000 từ.
|
68 |
|
69 |
Tuân thủ các hướng dẫn cụ thể cho thể loại {content_type}, như được mô tả dưới đây:
|
70 |
{content_type_instructions}
|
|
|
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", "phổ biến kiến thức thống kê"]
|
15 |
+
|
16 |
CONTENT_TYPE_INSTRUCTIONS = {
|
17 |
"podcast": """
|
18 |
+
Tone giọng: Gần gũi, thân thiện nhưng vẫn thể hiện sự chuyên sâu, am hiểu chủ đề.
|
19 |
+
Cấu trúc:
|
20 |
+
- Mở đầu bằng một câu hỏi kích thích tư duy hoặc câu chuyện mở màn thu hút.
|
21 |
+
- Triển khai các luận điểm theo trình tự logic, sử dụng ngôn ngữ mạnh mẽ, ví dụ minh họa hoặc câu nói nổi tiếng.
|
22 |
+
- Chuyển tiếp mượt mà giữa các ý, tạo sự liền mạch.
|
23 |
+
- Kết thúc với một thông điệp sâu sắc, để lại ấn tượng và khơi dậy suy ngẫm.
|
24 |
+
Mục tiêu: Cung cấp kiến thức giá trị, giữ chân thính giả và khuyến khích họ suy nghĩ sâu về chủ đề.
|
25 |
""",
|
26 |
"giới thiệu": """
|
27 |
+
Tone giọng: Chuyên nghiệp, ngắn gọn nhưng truyền cảm.
|
28 |
Cấu trúc:
|
29 |
+
- Mở đầu với một câu khẳng định rõ ràng, mạnh mẽ về đối tượng hoặc sản phẩm.
|
30 |
+
- Giải thích ngắn gọn về mục tiêu của nội dung, nhấn mạnh tầm quan trọng hoặc sự khác biệt.
|
31 |
+
- Kết thúc bằng lời kêu gọi hành động, khuyến khích người nghe tìm hiểu thêm hoặc thực hiện bước tiếp theo.
|
32 |
+
Mục tiêu: Đưa ra thông tin cô đọng và hấp dẫn, lôi cuốn người nghe muốn khám phá sâu hơn.
|
33 |
""",
|
34 |
"triết lý sống": """
|
35 |
+
Tone giọng: Truyền cảm hứng, sâu sắc, có tính chiêm nghiệm.
|
36 |
Cấu trúc:
|
37 |
+
- Bắt đầu bằng một câu hỏi hoặc ẩn dụ kích thích suy ngẫm về cuộc sống.
|
38 |
+
- Triển khai luận điểm chặt chẽ, kết hợp cảm xúc với ví dụ thực tế hoặc những câu nói triết lý nổi tiếng.
|
39 |
+
- Kết thúc bằng thông điệp sâu sắc, để lại cho người nghe sự suy ngẫm.
|
40 |
+
Mục tiêu: Khơi gợi suy nghĩ sâu sắc về cuộc sống và truyền cảm hứng cho người nghe tìm ra giá trị hoặc ý nghĩa trong câu chuyện.
|
41 |
""",
|
42 |
+
"phổ biến kiến thức thống kê": """
|
43 |
+
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ê.
|
44 |
+
|
45 |
+
Tone giọng:
|
46 |
+
- Thân thiện, truyền cảm, rõ ràng, dễ hiểu.
|
47 |
+
- Mang tính phổ biến thông tin, thể hiện sự chính thống.
|
48 |
+
- 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.
|
49 |
+
|
50 |
+
Th��i lượng: Khoảng 7 phút.
|
51 |
+
|
52 |
+
Hình thức thể hiện:
|
53 |
+
- Giọng đọc kèm hình ảnh của người đọc, xen kẽ với biểu đồ, đồ thị, và bảng số liệu minh họa.
|
54 |
+
|
55 |
Cấu trúc:
|
56 |
+
1. **Mở đầu**:
|
57 |
+
- 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ụ:
|
58 |
+
"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?"
|
59 |
+
2. **Triển khai nội dung chính**:
|
60 |
+
- 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.
|
61 |
+
- Chia nhỏ thông tin theo từng lĩnh vực, như:
|
62 |
+
- (1) Sản xuất nông, lâm nghiệp và thủy sản.
|
63 |
+
- (2) Sản xuất công nghiệp.
|
64 |
+
- (3) Tình hình đăng ký doanh nghiệp.
|
65 |
+
- (4) Đầu tư.
|
66 |
+
- (5) Thu, chi ngân sách Nhà nước.
|
67 |
+
- (6) Thương mại, giá cả, vận tải và du lịch.
|
68 |
+
- (7) Một số tình hình xã hội.
|
69 |
+
- Minh họa bằng các biểu đồ, đồ thị và bảng số liệu cụ thể.
|
70 |
+
|
71 |
+
3. **Kết thúc**:
|
72 |
+
- 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ụ:
|
73 |
+
"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."
|
74 |
+
|
75 |
+
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.
|
76 |
"""
|
77 |
}
|
78 |
|
|
|
91 |
|
92 |
Kết thúc bằng việc tóm tắt tự nhiên những bài học và hiểu biết chính từ nội dung đã thảo luận. Hãy nhắc lại các điểm chính một cách thoải mái, giống như trong một cuộc trò chuyện thông thường.
|
93 |
|
94 |
+
Kịch bản podcast nên có độ dài khoảng 4000 từ, còn kịch bản giới thiệu là 3000 từ, kịch bản triết lý sống là khoảng 1000 từ, kịch bản Phổ biến kiến thức thống kê là 3500 từ.
|
95 |
|
96 |
Tuân thủ các hướng dẫn cụ thể cho thể loại {content_type}, như được mô tả dưới đây:
|
97 |
{content_type_instructions}
|