sciagent code + Gitea Actions CI/CD
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Thinh Lam
2026-06-30 09:38:30 +07:00
commit 688fac73e9
1167 changed files with 158244 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
"""
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())