Files
sciagent/be0/scripts/add_ump_ideas.py
T
Thinh Lam 688fac73e9
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped
sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:38:30 +07:00

94 lines
4.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Script to add the 10 UMP innovation ideas to the vector database
"""
import asyncio
import sys
from pathlib import Path
# Add parent directory to path
sys.path.insert(0, str(Path(__file__).parent.parent))
from src.infrastructure.vector_db.qdrant_service import get_qdrant_service
UMP_IDEAS = [
{
"title": "Nền tảng Trợ lý AI học tập lâm sàng (Clinical AI Tutor)",
"description": "Ứng dụng AI đóng vai trò trợ giảng cho sinh viên y, hỗ trợ phân tích ca bệnh giả lập, giải thích cận lâm sàng, và gợi ý chẩn đoán theo phác đồ Việt Nam.",
"category": "Giáo dục - AI"
},
{
"title": "Hệ thống bệnh án điện tử học thuật (Academic EMR Sandbox)",
"description": "Môi trường EMR mô phỏng cho đào tạo và nghiên cứu, cho phép sinh viên và giảng viên thực hành nhập phân tích khai thác dữ liệu y khoa mà không ảnh hưởng dữ liệu bệnh nhân thật.",
"category": "Giáo dục - Chuyển đổi số"
},
{
"title": "Trung tâm mô phỏng y khoa bằng AR/VR & Digital Twin",
"description": "Xây dựng phòng lab mô phỏng phẫu thuật, cấp cứu, và quy trình điều trị bằng AR/VR, kết hợp mô hình \"digital twin\" của cơ thể người phục vụ đào tạo nâng cao.",
"category": "Giáo dục - AR/VR"
},
{
"title": "Chương trình Y tế cộng đồng số cho vùng sâu vùng xa",
"description": "Kết hợp telehealth, trợ lý ảo y tế (agentic care) và AI sàng lọc sớm bệnh không lây (NCD) cho người dân vùng nông thôn, miền núi và hải đảo.",
"category": "Tác động xã hội - Telehealth"
},
{
"title": "Nền tảng nghiên cứu AI y sinh dùng chung (UMP AI Research Hub)",
"description": "Cung cấp hạ tầng GPU, kho dữ liệu y khoa ẩn danh, và công cụ phân tích AI cho giảng viên nghiên cứu sinh startup hợp tác nghiên cứu.",
"category": "Nghiên cứu - AI"
},
{
"title": "Hệ thống theo dõi và dự báo sức khỏe sinh viên & nhân viên y tế",
"description": "Ứng dụng phân tích dữ liệu và AI để phát hiện sớm stress, burnout, và vấn đề sức khỏe tâm thần trong cộng đồng sinh viên và nhân viên y tế.",
"category": "Tác động xã hội - Sức khỏe"
},
{
"title": "Vườn ươm khởi nghiệp công nghệ y sinh (MedTech Incubator)",
"description": "Hỗ trợ sinh viên, bác sĩ và giảng viên phát triển startup MedTech, HealthTech, AI y tế thông qua mentoring, quỹ seed và kết nối bệnh viện doanh nghiệp.",
"category": "Khởi nghiệp - MedTech"
},
{
"title": "Hệ thống quản lý chất lượng đào tạo và kiểm định số",
"description": "Số hóa toàn bộ quy trình đảm bảo chất lượng nội bộ (IQA), đánh giá chương trình đào tạo, và chuẩn hóa theo tiêu chuẩn quốc tế (WFME, AUN-QA).",
"category": "Giáo dục - Quản lý chất lượng"
},
{
"title": "Nền tảng dữ liệu lớn phòng chống dịch và bệnh không lây",
"description": "Phân tích dữ liệu dịch tễ, môi trường, và hành vi để dự báo dịch bệnh, hỗ trợ Sở Y tế và Bộ Y tế trong ra quyết định chính sách.",
"category": "Nghiên cứu - Dịch tễ học"
},
{
"title": "Học viện Y học chính xác & Y học cá thể hóa",
"description": "Kết hợp dữ liệu gen, hình ảnh y khoa, lối sống và AI để nghiên cứu và ứng dụng điều trị cá thể hóa cho bệnh ung thư, tim mạch và bệnh mạn tính.",
"category": "Nghiên cứu - Y học chính xác"
}
]
async def main():
"""Add all UMP ideas to the database"""
print("Initializing Qdrant service...")
qdrant_service = get_qdrant_service()
print("Initializing collection...")
await qdrant_service.initialize_collection()
print(f"Adding {len(UMP_IDEAS)} ideas to the database...")
results = []
for i, idea in enumerate(UMP_IDEAS, 1):
try:
print(f"Adding idea {i}/{len(UMP_IDEAS)}: {idea['title']}")
result = await qdrant_service.add_idea(
title=idea['title'],
description=idea['description'],
category=idea['category']
)
results.append(result)
print(f"✓ Added: {result['id']}")
except Exception as e:
print(f"✗ Error adding idea {i}: {e}")
print(f"\n✓ Successfully added {len(results)}/{len(UMP_IDEAS)} ideas")
return results
if __name__ == "__main__":
asyncio.run(main())