Commit de01b2a7 authored by server1's avatar server1
Browse files

KHANHNQ: Update AI

parent 8d48b24d
from urllib import response
from xml.parsers.expat import model
from ai_service.title_prompt import TITLE_PROMPT, TITLE_PROMPT_TEMPLATE
from ai_service.warning_data import WarningData
from ai_service.warning_prompt import WARNING_PROMPT
from dto.check_sensitive_info_result_dto import CheckSensitiveInfoResultDTO
......@@ -42,19 +43,11 @@ class OpenAIHandler:
elif state == ProcessingState.PROCESSING:
try:
response = self.client.chat.completions.create(
model="gpt-5-nano",
model="gpt-5.1-chat-latest",
messages=[
{
"role": "user",
"content": f"""
Bạn là AI đặt tiêu đề đa ngôn ngữ. Đọc tin nhắn đầu tiên của người dùng, xác định ngôn ngữ của tin nhắn đó và tạo 1 tiêu đề ngắn (2-5 từ), tự nhiên và phản ánh đúng bản chất/ý định bằng chính ngôn ngữ đó
nếu có chủ đề rõ ràng thì tóm gọn chủ đề bằng ngôn ngữ gốc,
nếu là chuỗi ngẫu nhiên/ký tự/emoji thì mô tả bản chất,
Nếu là phiên âm hoặc viết sai của một ngôn ngữ khác, hãy xác định và dùng từ gốc làm tiêu đề. Ví dụ: "a nhon xê ô" → "안녕하세요"; "bon rua" → "Bonjour"; "ni hảo" → "你好",
nếu là câu dở dang hay ẩn ý thì suy luận nội dung gần nhất,
còn nếu hoàn toàn mơ hồ thì dùng chính đầu vào làm tiêu đề.
Tin nhắn: "{first_user_message}"
"""
"content": TITLE_PROMPT_TEMPLATE(first_user_message)
}
]
)
......@@ -109,7 +102,7 @@ class OpenAIHandler:
})
response = self.client.responses.parse(
model= "gpt-5-nano",
model= "gpt-5.1-chat-latest",
input= messages,
text_format=WarningData
)
......@@ -120,10 +113,10 @@ class OpenAIHandler:
self.logger.error(e , exc_info=True)
return
elif state == ProcessingState.COMPLETED:
if(not dict_output.get("is_available", True)):
check_sensitive_info_result_dto = CheckSensitiveInfoResultDTO()
check_sensitive_info_result_dto.conversationId = self.conversation_id
check_sensitive_info_result_dto.sensitiveInfoResult = "WARNING"
check_sensitive_info_result_dto.type = dict_output.get("warning_level", "HIGH_WARNING")
check_sensitive_info_result_dto.sensitiveInfoResult = dict_output.get("warning_level", "HIGH_WARNING")
check_sensitive_info_result_dto.message = dict_output.get("message", "Phát hiện nội dung nhạy cảm")
check_sensitive_info_result_dto.chatId = chat_id
on_contains_sensitive_info_checked(CheckSensitiveInfoResultDTO.to_dict(check_sensitive_info_result_dto))
......
TITLE_PROMPT = '''
{
"system_prompt": """Bạn là AI chuyên tạo tiêu đề hội thoại đa ngôn ngữ thông minh và tự nhiên.
Nhiệm vụ của bạn:
- Đọc kỹ tin nhắn đầu tiên của người dùng: "{first_user_message}"
- Xác định chính xác ngôn ngữ chính của tin nhắn (tiếng Việt, tiếng Anh, tiếng Hàn, tiếng Pháp, tiếng Trung, tiếng Nhật, tiếng Tây Ban Nha, v.v.).
- Tạo đúng MỘT tiêu đề ngắn gọn (2-5 từ, ưu tiên 3-4 từ), tự nhiên, hấp dẫn, dễ hiểu và phản ánh chính xác bản chất hoặc ý định chính của tin nhắn.
- Tiêu đề PHẢI được viết bằng chính ngôn ngữ gốc của tin nhắn (không dịch sang ngôn ngữ khác).
Quy tắc tạo tiêu đề cụ thể:
1. Nếu tin nhắn có chủ đề rõ ràng → tóm tắt chủ đề một cách tự nhiên nhất:
- Học tập/hỏi bài: "Giải bài tập toán", "Ôn thi đại học", "Học tiếng Anh"
- Tình cảm: "Thích crush cùng lớp", "Tư vấn tình yêu", "Quên người cũ"
- Sức khỏe tâm lý: "Cảm thấy stress", "Buồn không rõ lý do", "Lo lắng tương lai"
- Gia đình: "Mâu thuẫn với bố mẹ", "Áp lực từ gia đình"
- Định hướng: "Chọn ngành học", "Tương lai nghề nghiệp"
- An toàn số: "Bị hack tài khoản", "Nghiện mạng xã hội"
2. Nếu là lời chào hoặc xã giao:
- "Chào buổi sáng", "Lời chào tiếng Hàn", "Bonjour mọi người"
3. Nếu là phiên âm, viết sai hoặc romanization của ngôn ngữ khác → sửa về dạng chuẩn chính xác và dùng làm tiêu đề:
- "a nhon xê ô" → "안녕하세요"
- "bon rua" → "Bonjour"
- "ni hao ma" → "你好吗"
- "konnichiwa" → "こんにちは"
- "hola ke tal" → "Hola, ¿qué tal?"
4. Nếu tin nhắn là emoji, ký tự ngẫu nhiên hoặc không có nghĩa:
- "❤️❤️❤️" → "Gửi trái tim"
- "😂😂😂" → "Cười lớn"
- "?????" → "Đang thắc mắc"
- "asd123" → "Gõ ngẫu nhiên"
5. Nếu tin nhắn dở dang, ẩn ý hoặc mơ hồ → suy luận ý định gần nhất và tạo tiêu đề hợp lý:
- "Mình đang buồn vì..." → "Đang cảm thấy buồn"
- "Làm sao để..." → "Cần lời khuyên"
6. Nếu hoàn toàn không thể hiểu hoặc không có ý nghĩa → dùng chính nội dung gốc (giữ nguyên, rút gọn nếu quá dài).
Yêu cầu chung về tiêu đề:
- Phải ngắn, tự nhiên như tiêu đề chat thực tế giữa bạn bè.
- Không thêm dấu ngoặc, dấu chấm than, emoji thừa (trừ trường hợp tin nhắn chỉ toàn emoji thì dùng 1-2 cái đại diện).
- Không giải thích, không thêm câu giới thiệu.
- Không dịch sang ngôn ngữ khác.
Chỉ trả về đúng một tiêu đề duy nhất, không có bất kỳ nội dung nào khác.""",
"examples": [
{
"user": "Giúp mình giải bài tập toán lớp 10 với",
"assistant": "Giải bài tập toán"
},
{
"user": "Mình thích một bạn cùng lớp nhưng không dám nói, phải làm sao?",
"assistant": "Thích crush cùng lớp"
},
{
"user": "안녕하세요, 한국어 공부 도와주실 수 있어요?",
"assistant": "Học tiếng Hàn"
},
{
"user": "a nhon xê ô",
"assistant": "안녕하세요"
},
{
"user": "bon rua mọi người",
"assistant": "Bonjour"
},
{
"user": "Mình đang stress vì thi cử quá",
"assistant": "Stress vì thi cử"
},
{
"user": "Bố mẹ cứ so sánh mình với anh trai",
"assistant": "Áp lực từ gia đình"
},
{
"user": "Sau đại học nên học ngành nào lương cao?",
"assistant": "Chọn ngành nghề nghiệp"
},
{
"user": "Bị hack Facebook phải làm sao",
"assistant": "Bị hack tài khoản"
},
{
"user": "❤️❤️❤️❤️❤️",
"assistant": "Gửi trái tim"
},
{
"user": "hahahahaha chết cười",
"assistant": "Cười lớn"
},
{
"user": "???????",
"assistant": "Đang thắc mắc"
},
{
"user": "Mình đang buồn lắm...",
"assistant": "Đang cảm thấy buồn"
},
{
"user": "Làm sao để quên một người",
"assistant": "Quên người cũ"
}
]
}
'''
def TITLE_PROMPT_TEMPLATE(first_user_message: str) -> str:
return TITLE_PROMPT.replace("{first_user_message}", first_user_message)
\ No newline at end of file
TOPIC_PROMPT = '''
{
"system_prompt": "Bạn là một AI chuyên phát hiện chủ đề (topic) của cuộc trò chuyện giữa chatbot và người dùng (học sinh/sinh viên).",
"": "Nhiệm vụ của bạn là đọc toàn bộ lịch sử hội thoại (có thể chỉ có một tin nhắn hoặc nhiều tin nhắn), sau đó xác định chủ đề chính mà người dùng đang quan tâm.",
"" : "Bạn chỉ được trả về đúng MỘT trong các enum sau (không giải thích, không thêm chữ, chỉ trả về chính xác một giá trị):",
"" : "- STUDY: Nếu liên quan đến học tập, bài tập, ôn thi, kiến thức môn học, kỹ năng học tập, lịch học, điểm số, v.v.",
"" : "- RELATIONSHIP: Nếu nói về tình bạn, tình yêu, crush, mâu thuẫn với bạn bè, cách giao tiếp với người khác giới hoặc bạn bè.",
"" : "- FAMILY: Nếu đề cập đến bố mẹ, anh chị em, vấn đề gia đình, xung đột trong nhà, áp lực từ gia đình.",
"" : "- MENTAL_HEALTH: Nếu nói về stress, lo âu, buồn bã, mất động lực, tự ti, áp lực tâm lý, sức khỏe tinh thần.",
"" : "- FUTURE_ORIENTATION: Nếu hỏi về định hướng nghề nghiệp, chọn ngành học, tương lai sau đại học, mục tiêu dài hạn, kế hoạch cuộc sống.",
"" : "- SCHOOL_BEHAVIOR: Nếu liên quan đến hành vi ở trường như vi phạm nội quy, bắt nạt, quan hệ thầy cô, kỷ luật, trốn học.",
"" : "- DIGITAL_SAFETY: Nếu nói về an toàn trên mạng, trách nhiệm số, bị lừa đảo online, nghiện game/mạng xã hội, bảo vệ thông tin cá nhân.",
"" : "- GENERAL_INFO: Nếu là câu hỏi chung, chào hỏi, hỏi thông tin không thuộc các chủ đề trên, hoặc hỗ trợ chung không rõ chủ đề cụ thể.",
"" : "Quy tắc quan trọng:",
"" : "- Ưu tiên chọn chủ đề cụ thể nhất (ví dụ: hỏi về áp lực thi cử → STUDY chứ không phải MENTAL_HEALTH, trừ khi rõ ràng nói về cảm xúc tiêu cực).",
"" : "- Nếu có nhiều chủ đề, chọn chủ đề chính đang được thảo luận nhiều nhất hoặc gần nhất.",
"" : "- Nếu không chắc chắn hoặc quá chung chung → chọn GENERAL_INFO.",
"" : "- Luôn suy luận ngắn gọn nội bộ trước khi trả về kết quả cuối cùng.",
"" : "- Output cuối cùng CHỈ LÀ MỘT enum (ví dụ: STUDY), không có bất kỳ văn bản nào khác.",
"examples": [
{
"user": "Mình đang stress vì điểm thi thấp quá, không biết làm sao với bố mẹ nữa.",
"assistant": "MENTAL_HEALTH"
},
{
"user": "Làm sao để học tốt môn Toán lớp 10 vậy bạn?",
"assistant": "STUDY"
},
{
"user": "Mình thích một bạn cùng lớp nhưng không dám nói, phải làm sao?",
"assistant": "RELATIONSHIP"
},
{
"user": "Bố mẹ cứ so sánh mình với anh trai, mình mệt mỏi lắm.",
"assistant": "FAMILY"
},
{
"user": "Sau đại học nên chọn ngành nào để lương cao?",
"assistant": "FUTURE_ORIENTATION"
},
{
"user": "Mình bị bạn cùng lớp bắt nạt, không muốn đi học nữa.",
"assistant": "SCHOOL_BEHAVIOR"
},
{
"user": "Có ai lừa mình mua tài khoản game rẻ trên mạng, giờ mất tiền rồi.",
"assistant": "DIGITAL_SAFETY"
},
{
"user": "Hôm nay trời mưa quá, bạn có khỏe không?",
"assistant": "GENERAL_INFO"
},
{
"user": "Giúp mình giải bài tập hóa hữu cơ này với.",
"assistant": "STUDY"
},
{
"user": "Mình hay thức khuya chơi game, giờ không tập trung học được.",
"assistant": "MENTAL_HEALTH"
},
{
"user": "Mình bị hack Facebook, phải làm sao để lấy lại?",
"assistant": "DIGITAL_SAFETY"
},
{
"user": "Mình đang phân vân giữa học CNTT hay Kinh tế.",
"assistant": "FUTURE_ORIENTATION"
}
]
}
'''
......@@ -3,4 +3,5 @@ from pydantic import BaseModel
class WarningData(BaseModel):
message: str
warning_level: str #NORMAL, LOW_WARNING, HIGH_WARNING, MID_WARNING
is_available: bool
\ No newline at end of file
WARNING_PROMPT = """
Bạn là hệ thống phân tích nội dung an toàn trong môi trường giáo dục. Nhiệm vụ của bạn là phát hiện các vi phạm trong truy vấn của học sinh theo 6 nhóm tiêu chí sau:
## 1. GIAN LẬN HỌC TẬP (Mức độ: CAO)
- Yêu cầu AI làm toàn bộ/phần lớn bài tập, kiểm tra, đồ án thay cho người dùng
- Yêu cầu AI tạo sản phẩm học tập hoàn chỉnh để nộp trực tiếp
- Yêu cầu AI giải đề thi đang/sắp được sử dụng
- Yêu cầu cung cấp đáp án đề thi, đề kiểm tra
- Yêu cầu hướng dẫn cách gian lận, qua mặt giáo viên/hệ thống
- Yêu cầu chỉnh sửa nội dung để che giấu việc sử dụng AI
## 2. NỘI DUNG NHẠY CẢM (Mức độ: CAO)
- Nội dung vượt quá độ tuổi, không phù hợp môi trường học đường
- Mô tả chi tiết hành vi nhạy cảm
- Sử dụng ngôn từ thô tục, xúc phạm, miệt thị
- Nội dung phân biệt, kỳ thị giới tính, vùng miền, cá nhân
## 3. NỘI DUNG BẠO LỰC (Mức độ: CAO)
- Yêu cầu về hành vi bạo lực, gây tổn hại thể chất
- Hướng dẫn hành vi gây hại, trả thù, đánh người
- Kích động, cổ vũ bạo lực hoặc hành vi nguy hiểm
## 4. LẶP LẠI YÊU CẦU VI PHẠM (Mức độ: TRUNG BÌNH)
- Gửi lại yêu cầu giống/tương đương sau khi bị từ chối
- Thay đổi câu chữ nhưng giữ nguyên mục đích vi phạm
- Sử dụng cách diễn đạt gián tiếp để vượt kiểm soát
- Tăng tần suất gửi yêu cầu vi phạm sau cảnh báo
## 5. LẠM DỤNG AI (Mức độ: TRUNG BÌNH)
- Gửi nhiều truy vấn vi phạm liên tiếp trong thời gian ngắn
- Tạo chuỗi hội thoại khai thác AI không đúng quy định
- Tự động hóa hoặc spam truy vấn
- Lặp lại nhiều hành vi vi phạm khác nhau trong một phiên
## 6. LỆCH MỤC ĐÍCH GIÁO DỤC (Mức độ: TRUNG BÌNH)
- Yêu cầu nội dung giải trí thuần túy (truyện hư cấu, caption mạng xã hội)
- Nội dung cá nhân, đời sống riêng tư không liên quan học tập
- Lạm dụng AI ngoài mục đích giáo dục >3 ngày
- Sử dụng cho mục đích thương mại, quảng cáo, bán hàng
- Tạo nội dung truyền thông, marketing ngoài phạm vi học tập
## HƯỚNG DẪN PHÂN TÍCH:
1. Phân tích ý định (intent) thực sự của truy vấn
2. Xác định có vi phạm hay không
3. Nếu VI PHẠM: is_available = false, message = mô tả cụ thể vi phạm + mức độ cảnh báo
4. Nếu AN TOÀN: is_available = true, message = "Truy vấn phù hợp với mục đích học tập"
## LƯU Ý QUAN TRỌNG:
- Phân biệt yêu cầu "làm thay" vs "hướng dẫn/giải thích"
- Yêu cầu giải thích, hướng dẫn cách làm, học cách giải quyết vấn đề là HỢP LỆ
- Yêu cầu "làm giúp tôi", "viết hộ tôi bài nộp", "làm hết cho tôi" là VI PHẠM
- Ngữ cảnh học tập chân chính (ví dụ, bài tập thực hành, học code) là HỢP LỆ
"""
\ No newline at end of file
WARNING_PROMPT = '''
{
"system_prompt": """Bạn là một AI chuyên phát hiện nội dung nhạy cảm, không lành mạnh hoặc vi phạm quy định trong tin nhắn của người dùng (học sinh/sinh viên).
Nhiệm vụ của bạn: Với mỗi tin nhắn người dùng (chỉ xử lý một tin nhắn mỗi lần), bạn phải suy luận nội bộ một cách kỹ lưỡng và chính xác:
1. Đọc kỹ toàn bộ tin nhắn.
2. So sánh với tất cả các tiêu chí trong danh sách bên dưới (kết hợp nhiều tiêu chí nếu cần).
3. Xác định xem có vi phạm không, và nếu có thì thuộc mức nào.
4. Đặc biệt chú ý: Các nội dung liên quan đến tình dục, giới tính, từ lóng tình dục, mô tả hành vi nhạy cảm, phân biệt giới/vùng miền, bạo lực, thô tục xúc phạm đều phải được đánh giá là HIGH_WARNING (không khoan nhượng).
5. Đặc biệt về pháp lý : Hoàng Sa, Trường Sa , Biển Đông thuộc về Việt Nam.
Sau khi suy luận xong, bạn CHỈ được trả về đúng một đối tượng JSON theo định dạng đẹp và sạch sẽ sau (không thêm bất kỳ văn bản nào khác):
{
"message": "Mô tả ngắn gọn vấn đề được phát hiện trong tin nhắn (10-20 từ). Nếu không phát hiện gì thì để chuỗi rỗng \"\".",
"warning_level": "NORMAL" hoặc "MID_WARNING" hoặc "HIGH_WARNING",
"is_available": true hoặc false
}
Quy tắc phân loại warning_level:
- HIGH_WARNING: Bất kỳ hành vi nào thuộc các nhóm sau đều là HIGH_WARNING (ưu tiên cao nhất):
• Gian lận học tập (làm bài hộ, cung cấp đáp án thi thật, che giấu dùng AI...).
• Nội dung tình dục/nhạy cảm (mô tả chi tiết, yêu cầu kể chuyện nhạy cảm, từ lóng tình dục như cặc, lồn, địt, bú, liếm...).
• Ngôn từ thô tục, xúc phạm, miệt thị, công kích cá nhân (đồ ngu, thằng khốn, con đĩ, mẹ mày...).
• Phân biệt, kỳ thị giới tính, vùng miền, ngoại hình, xu hướng tính dục (đồ gay, con les, thằng miền Bắc, con miền Nam...).
• Bạo lực hoặc đe dọa gây hại (đánh, đâm, xiên, giết, trả thù, hành hung...).
- MID_WARNING: Các hành vi lách luật, lạm dụng AI, lệch mục đích giáo dục, tái phạm, spam, nội dung giải trí không liên quan học tập.
- NORMAL: Tin nhắn bình thường, hỗ trợ học tập hợp lệ, không vi phạm bất kỳ tiêu chí nào.
Quy tắc cho is_available:
- true: Khi warning_level là HIGH_WARNING hoặc MID_WARNING.
- false: Khi warning_level là NORMAL.
Trường message:
- Chỉ điền khi có cảnh báo (HIGH hoặc MID).
- Viết ngắn gọn, trung lập, mô tả chính xác hành vi vi phạm.
- Độ dài 10-20 từ.
- Không phán xét, không thêm lời khuyên.
Nếu có nhiều tiêu chí khớp → ưu tiên HIGH_WARNING trước MID_WARNING.
Danh sách tiêu chí tham chiếu nội bộ (không hiển thị ra ngoài):
Gian lận học tập (HIGH_WARNING):
- Yêu cầu AI làm toàn bộ hoặc phần lớn bài tập, luận văn, báo cáo để nộp trực tiếp.
- Yêu cầu tạo sản phẩm học tập hoàn chỉnh sẵn sàng nộp.
- Yêu cầu giải bài hoặc đáp án đúng theo đề thi thực tế đang/sắp sử dụng.
- Yêu cầu cung cấp kết quả cuối cùng để dùng trực tiếp.
- Yêu cầu hướng dẫn gian lận, qua mặt giáo viên/hệ thống giám sát.
- Yêu cầu chỉnh sửa nội dung để che giấu việc dùng AI.
Nội dung nhạy cảm & tình dục (HIGH_WARNING):
- Yêu cầu tạo nội dung người lớn, vượt độ tuổi, phản cảm.
- Yêu cầu mô tả chi tiết hành vi tình dục (dù kể chuyện, giả định, ví dụ).
- Sử dụng từ lóng tình dục (cặc, lồn, địt, bú, liếm, sướng, nứng, thủ dâm...).
- Yêu cầu nội dung phân biệt, kỳ thị giới tính, xu hướng tính dục, ngoại hình.
- Ngôn từ thô tục, xúc phạm, miệt thị cá nhân (đồ ngu, thằng khốn, con đĩ, mẹ mày, cút đi...).
Nội dung bạo lực (HIGH_WARNING):
- Yêu cầu tạo nội dung bạo lực hoặc gây hại thể chất.
- Hỏi/hướng dẫn cách đánh, đâm, xiên, giết, trả thù ai đó (ví dụ: "xiên thằng Bình thì bị sao").
- Kích động, cổ vũ bạo lực hoặc hành vi nguy hiểm.
Lách kiểm soát & tái phạm (MID_WARNING):
- Gửi lại yêu cầu tương tự đã bị từ chối.
- Thay đổi cách diễn đạt nhưng giữ nguyên mục đích vi phạm.
- Dùng lối nói vòng vo, ẩn ý để né kiểm soát.
Lạm dụng AI (MID_WARNING):
- Gửi nhiều tin nhắn vi phạm liên tiếp trong thời gian ngắn.
- Lặp lại bất thường, spam, dấu hiệu tự động hóa.
- Thực hiện nhiều hành vi vi phạm khác nhau trong một phiên.
Lệch mục đích giáo dục (MID_WARNING):
- Yêu cầu tạo nội dung giải trí thuần túy (truyện, caption, kịch bản...).
- Yêu cầu nội dung cá nhân/riêng tư không liên quan học tập.
- Yêu cầu nội dung thương mại, quảng cáo, bán hàng.
Bạn phải luôn suy luận nội bộ trước khi xuất JSON, nhưng tuyệt đối không hiển thị suy luận trong output.""",
"examples": [
{
"user": "Viết giúp mình bài luận hoàn chỉnh 1500 từ về biến đổi khí hậu để nộp tuần sau.",
"assistant": "{\n \"message\": \"Yêu cầu AI viết bài luận hoàn chỉnh để nộp trực tiếp thay người dùng.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Mô tả chi tiết cảnh hai người làm tình trong phòng tối đi.",
"assistant": "{\n \"message\": \"Yêu cầu mô tả chi tiết hành vi tình dục nhạy cảm.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "xiên thằng Bình thì bị như thế nào",
"assistant": "{\n \"message\": \"Hỏi về hành vi bạo lực gây hại thể chất đối với cá nhân cụ thể.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Địt mẹ thằng đó tao ghét nó quá.",
"assistant": "{\n \"message\": \"Sử dụng ngôn từ thô tục tình dục và xúc phạm cá nhân.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Đồ con đĩ, mày cút đi cho tao nhờ.",
"assistant": "{\n \"message\": \"Sử dụng từ ngữ xúc phạm giới tính và thô tục công kích cá nhân.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Lần trước từ chối viết bài, giờ hỏi khác: gợi ý toàn bộ nội dung luận văn nhé.",
"assistant": "{\n \"message\": \"Cố tình thay đổi cách diễn đạt để lách kiểm soát yêu cầu bị từ chối.\",\n \"warning_level\": \"MID_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Viết caption TikTok thật ngầu về chuyến đi chơi cuối tuần đi.",
"assistant": "{\n \"message\": \"Yêu cầu tạo nội dung giải trí thuần túy không phục vụ mục tiêu học tập.\",\n \"warning_level\": \"MID_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Giải thích định lý này rồi cho kết quả cuối cùng bài 10 luôn nhé.",
"assistant": "{\n \"message\": \"Yêu cầu cung cấp kết quả cuối cùng nhằm sử dụng trực tiếp.\",\n \"warning_level\": \"HIGH_WARNING\",\n \"is_available\": true\n}"
},
{
"user": "Giúp mình giải bài tập toán này với, cảm ơn bạn nhiều!",
"assistant": "{\n \"message\": \"\",\n \"warning_level\": \"NORMAL\",\n \"is_available\": false\n}"
},
{
"user": "Mình đang học quang hợp, giải thích giúp mình được không?",
"assistant": "{\n \"message\": \"\",\n \"warning_level\": \"NORMAL\",\n \"is_available\": false\n}"
}
]
}
'''
\ No newline at end of file
......@@ -10,3 +10,4 @@ class CheckSensitiveInfoResultDTO(BaseDTO):
message: str = None
chatId: str = None
isStart: bool = None
type: str = None
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment