



















Preview text:
ĐẠI HỌC PHENIKAA
TRƯỜNG CÔNG NGHỆ THÔNG TIN PHENIKAA
TÊN HỌC PHẦN: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM-1- 1-25(N04)
TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT “GTCHAT”
Giảng viên hướng dẫn: Th.S Nguyễn Thị Vân
Sinh viên thực hiện: Trần Anh Tú (23010332)
Trần Thị Thu Giang (23010474) Khoá: K17- CNTT
Lớp tín chỉ: Phân tích và thiết kế phần mềm-1-1-25(N04)
Hà Nội, tháng 10 năm 2025
PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN
Danh sách các công việc/nhiệm vụ
Mô tả tóm tắt công việc Công việc 1
Khảo sát và thu thập thông tin Công việc 2
Xác định mục tiêu, đối tượng và phạm vi nghiên cứu Công việc 3
Xác định, phân tích yêu cầu của hệ thống Công việc 4 Mô hình hóa hệ thống Công việc 5 Kiến trúc tổng thể Công việc 6
Thiết kế chi tiết (cơ sở dữ liệu, thành phần
phần mềm, giao diện người dùng, logic xử lý) Công việc 7
Cài đặt và kiểm thử phần mềm Công việc 8
Đánh giá, kết luận và định hướng phát triển TT Mã sinh Họ và tên Nhiệm vụ phân
Nội dung đã thực hiện Đánh giá viên công 1 23010474 Trần Thị Thu Công việc 1
Khảo sát và thu thập thông 50% Giang tin. Công việc 2
Xác định mục tiêu, đối
tượng và phạm vi nghiên cứu. Công việc 3
Mô hình hóa hệ thống: Vẽ các biểu đồ UML (Sequence, Class Diagram. Công việc 4 Prototype. Thiết kế giao diện. 2 Công việc 7
Đánh giá, kết luận và định hướng phát triển Công việc 8
Cài đặt và kiểm thử phần mềm 2 23010332 Trần Anh Tú Công việc 1
Khảo sát và thu thập thông 50% tin. Công việc 2
Xác định mục tiêu, đối
tượng và phạm vi nghiên cứu
Vẽ các biểu đồ UML (Use Công việc 3 Case, Activity). Công việc 5
Thiết kế kiến trúc (CSDL, ERD). Công việc 6 Prototype. Thiết kế giao diện 3 MỤC LỤC
PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN ................................................................................ 2
MỤC LỤC ................................................................................................................... 4
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI .............................................................................. 9
1.1. Lý do chọn đề tài (Đặt vấn đề) .......................................................................................... 9
1.2. Mục tiêu và phạm vi nghiên cứu ...................................................................................... 9
1.3. Đối tượng và phương pháp nghiên cứu ......................................................................... 10
1.4. Ý nghĩa khoa học và thực tiễn ........................................................................................ 11
1.5. Bố cục đồ án ...................................................................................................................... 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................. 13
2.1. Tổng quan lĩnh vực .......................................................................................................... 13
2.2. Các khái niệm và mô hình liên quan .............................................................................. 13 2.2.1.
Lớp Trình diễn (Presentation Layer):. ..................................................... 14 2.2.2.
Lớp Logic nghiệp vụ (Business Logic Layer) ............................................ 14 2.2.3.
Lớp Truy cập dữ liệu (Data Access Layer). .............................................. 15 2.3.
Các công trình, nghiên cứu liên quan ....................................................................... 15 2.4.
Công nghệ, ngôn ngữ và công cụ sử dụng ................................................................ 16
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG ...................................................................... 17
3.1. Khảo sát hiện trạng .......................................................................................................... 17
3.2. Phân tích yêu cầu ............................................................................................................. 18
3.3. Mô hình ca sử dụng (Use Case Model) ........................................................................... 19
3.3.1. Danh sách các Use case ................................................................................ 20
3.3.2. Biểu đồ Use Case tổng quát .......................................................................... 21
3.3.3. Các Use Case chi tiết ................................................................................... 22
3.3.3.1. Use case Đăng nhập ............................................................................... 22
3.3.3.2. Use case Đăng ký ................................................................................... 23
3.3.3.3. Use case Quên mật khẩu ........................................................................ 24
3.3.3.4. Use case Trò chuyện (Chatbot) ............................................................... 25
3.3.3.5. Use case Khám phá ............................................................................... 26
3.3.3.6. Use case Cộng đồng ............................................................................... 27
3.3.3.7. Use case Cài đặt .................................................................................... 28 4
3.3.3.8 Use case Trang cá nhân .......................................................................... 30
3.3.3.9. Use case Tạo bài đăng ............................................................................ 31
3.3.3.10. Use case Thông báo.............................................................................. 32
3.3.3.11. Use case Đăng xuất .............................................................................. 33
3.4. Các biểu đồ phân tích ...................................................................................................... 33
3.4.1 Các Activity Diagram ................................................................................... 33
3.4.1.1. Activity Diagram Đăng nhập .................................................................. 34
3.4.1.2. Activity Diagram Đăng ký ..................................................................... 35
3.4.1.3 Activity Diagram Quên mật khẩu ............................................................ 36
3.4.1.4. Activity Diagram Trò chuyện ................................................................. 37
3.4.1.5. Activity Diagram Tạo bài đăng .............................................................. 38
3.4.1.6. Activity Diagram Tìm kiếm văn bản ....................................................... 39
3.4.1.7. Activity Diagram Tìm kiếm đa phương tiện ............................................ 40
3.4.1.8. Activity Diagram Tìm kiếm lịch sử chat .................................................. 41
3.4.1.9. Activity Diagram Tìm kiếm mô hình/chatbot .......................................... 42
3.4.1.10. Activity Diagram Tương tác với bài đăng .............................................. 43
3.4.1.11. Activity Diagram Theo dõi ................................................................... 44
3.4.1.12. Activity Diagram Chỉnh sửa hồ sơ ........................................................ 45
3.4.1.13. Activity Diagram Thông báo ................................................................ 46
3.4.1.14. Activity Diagram Cài đặt tài khoản ....................................................... 48
3.4.1.15. Activity Diagram Cài đặt chung ........................................................... 49
3.4.1.16. Activity Diagram Đăng xuất tài khoản .................................................. 50
3.4.2. Sequence Diagram tổng quát ........................................................................ 51
3.4.3. Class Diagram tổng quát .............................................................................. 52
3.5. Kết luận chương ............................................................................................................... 53
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG ......................................................................... 54
4.1. Kiến trúc tổng thể ............................................................................................................ 54
4.1.1. Mô hình Kiến trúc 3 lớp ............................................................................... 54
4.1.2. Mô tả chi tiết Kiến trúc 3 lớp của ứng dụng GTChat ..................................... 55
4.1.2.1. Presentation Layer (Lớp giao diện người dùng) ....................................... 55
4.1.2.2. Business Logic Layer (Lớp xử lý nghiệp vụ / Dịch vụ API) ....................... 56 5
4.1.2.3. Data Access Layer (Lớp truy cập dữ liệu) ............................................... 56
4.2. Thiết kế cơ sở dữ liệu ....................................................................................................... 57
4.2.1. Mô hình Quan hệ thực thể (ERD) ................................................................. 57
4.2.1.1. Các mô hình thực thể ERD .................................................................... 58 4.2.2
Các bảng dữ liệu chính ........................................................................... 60
4.2.2.1 Bảng users ............................................................................................. 60
4.2.2.2. Bảng user_profiles ................................................................................. 60
4.2.2.3. Bảng user_settings ................................................................................. 61
4.2.2.4. Bảng user_sessions ................................................................................ 61
4.2.2.5. Bảng user_links ..................................................................................... 62
4.2.2.6. Bảng deleted_users ................................................................................ 62
4.2.2.7. Bảng chat_history ................................................................................. 62
4.2.2.8. Bảng messages ...................................................................................... 63
4.2.2.9. Bảng msg_files ...................................................................................... 63
4.2.2.10. Bảng models ........................................................................................ 64
4.2.2.11. Bảng model_versions ........................................................................... 64
4.2.2.12. Bảng chatbots ...................................................................................... 64
4.2.2.13. Bảng posts ........................................................................................... 65
4.2.2.14. Bảng post_media ................................................................................. 66
4.2.2.15. Bảng comments ................................................................................... 66
4.2.2.16. Bảng reviews ....................................................................................... 66
4.2.2.17. Bảng notifications ................................................................................ 67
4.2.2.18. Bảng post_likes ................................................................................... 67
4.2.2.19. Bảng post_shares ................................................................................. 67
4.2.2.20. Bảng follows ........................................................................................ 68
4.2.2.21. Bảng reports ....................................................................................... 68
4.2.2.22. Bảng hidden_content ........................................................................... 68
4.2.2.23. Bảng categories ................................................................................... 69
4.2.2.24. Bảng chatbot_categories ...................................................................... 69
4.2.2.25. Bảng likes ........................................................................................... 69
4.2.2.26. Bảng rankings ..................................................................................... 69 6
4.2.2.27. Bảng search_logs ................................................................................. 70
4.2.2.28. Bảng system_logs ................................................................................. 70
4.2.2.29. Bảng feedback ..................................................................................... 70
4.3. Thiết kế thành phần phần mềm ...................................................................................... 72
4.3.1. Class Diagram chi tiết .................................................................................. 72
4.4. Thiết kế giao diện người dùng ........................................................................................ 75 4.4.1.
Prototype ............................................................................................... 75 4.4.2.
Màn hình chính ...................................................................................... 84
4.4.2.1 Màn hình: Chào mừng & Lựa chọn truy cập ........................................... 84
4.4.2.2. Màn hình: Xác thực người dùng (Đăng nhập & Đăng ký) ........................ 86
4.4.2.3. Màn hình: Quên mật khẩu ..................................................................... 88
4.4.2.4. Màn hình: Trò chuyện (Chat) ................................................................ 90
4.4.2.5. Màn hình: Khám phá ............................................................................ 92
4.4.2.6. Màn hình: Cộng đồng ............................................................................ 94
4.4.2.7. Màn hình: Cài đặt ................................................................................. 96
4.5. Thiết kế xử lý .................................................................................................................... 98 4.5.1.
Sequence Diagram - Đăng nhập hệ thống ................................................. 98 4.5.2.
Sequence Diagram - Đăng ký tài khoản ................................................... 99 4.5.3.
Sequence Diagram - Trò chuyện với Chatbot ......................................... 100 4.5.4.
Sequence Diagram - Tạo bài đăng ......................................................... 100 4.5.5.
Sequence Diagram - Tương tác bài đăng ................................................ 101 4.5.6.
Sequence Diagram - Hiển thị hồ sơ người dùng ...................................... 102 4.5.7.
Sequence Diagram - Chỉnh sửa trang cá nhân ........................................ 103
4.6. Kết luận chương ............................................................................................................. 103
CHƯƠNG 5: CÀI ĐẶT VÀ KẾT QUẢ THỬ NGHIỆM .............................................. 104
5.1. Môi trường triển khai .................................................................................................... 104
5.2. Cài đặt các chức năng chính ......................................................................................... 104
5.3. Kết quả thực nghiệm ..................................................................................................... 104
5.4. Đánh giá hệ thống .......................................................................................................... 104
Nhược điểm ............................................................................................................................ 104
Kết luận và hướng phát triển ............................. Lỗi! Thẻ đánh dấu không được xác định.
I. Kết quả đạt được ............................................................................................................... 105 7
II. Hạn chế ............................................................................................................................. 105
III. Hướng phát triển tiếp theo ............................................................................................ 105 8
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1. Lý do chọn đề tài (Đặt vấn đề)
Trong bối cảnh cuộc Cách mạng công nghiệp lần thứ tư đang diễn ra mạnh mẽ, Trí tuệ
nhân tạo (AI), đặc biệt là các Mô hình Ngôn ngữ Lớn (LLM), đã và đang tạo ra những bước đột
phá mang tính thay đổi sâu sắc. Tuy nhiên, việc tiếp cận các công cụ AI tiên tiến này thường gặp
rào cản về chi phí hoặc đòi hỏi người dùng phải có kiến thức kỹ thuật nhất định. Song song đó, xu
hướng kết nối và chia sẻ tri thức trên các nền tảng cộng đồng ngày càng trở nên quan trọng.
Thị trường Việt Nam, với một bối cảnh số đặc thù, là một minh chứng rõ nét cho tiềm năng
của đề tài. Theo các thống kê gần đây, Việt Nam có tới hơn 76.5 triệu người dùng hoạt động hàng
tháng trên các nền tảng xã hội, và 83% người dùng Internet tham gia tích cực vào các mạng xã hội.
Sự thống trị của các ứng dụng như Zalo, Facebook, TikTok đã định hình một thói quen "mobile-
first" (ưu tiên thiết bị di động) sâu sắc trong dân số. Đồng thời, sự tăng trưởng của các nền tảng
dựa trên văn bản (text-based platforms) như Threads và X cho thấy nhu cầu lớn về một không gian
trao đổi thông tin nhanh chóng, đặc biệt trong nhóm người dùng trẻ thuộc thế hệ Gen Z.
Tuy nhiên, qua khảo sát thực tế, có thể nhận thấy một khoảng trống đáng kể: sự thiếu vắng
một nền tảng chuyên biệt, miễn phí, kết hợp sức mạnh của AI chatbot với các tính năng
tương tác của mạng xã hội, được thiết kế tối ưu cho người dùng Việt Nam. Người dùng hiện
tại buộc phải sử dụng các công cụ AI một cách riêng lẻ và tham gia thảo luận trên các diễn đàn,
mạng xã hội không chuyên biệt, tạo ra một trải nghiệm rời rạc và thiếu tính hệ thống.
Từ những phân tích trên, tính cấp thiết của đề tài được khẳng định:
Bình dân hóa công nghệ: Cần một giải pháp giúp người dùng cơ bản có thể dễ dàng tiếp
cận và khai thác công nghệ AI chatbot mà không gặp rào cản kỹ thuật hay tài chính.
Xây dựng cộng đồng tri thức: Cần một không gian tập trung để người dùng có thể chia
sẻ kiến thức, kinh nghiệm sử dụng, và cùng nhau đánh giá, khám phá các mô hình AI.
Đáp ứng xu hướng thị trường: Cần một sản phẩm tuân thủ nghiêm ngặt nguyên tắc thiết
kế ưu tiên di động (mobile-first), phù hợp với hành vi sử dụng của đại đa số người dùng trong nước.
Vì những lý do đó, đề tài “Xây dựng GTChat - Nền tảng Mạng xã hội và Tích hợp
Chatbot AI” được đề xuất nhằm phát triển một hệ sinh thái toàn diện, giải quyết các vấn đề đã nêu.
1.2. Mục tiêu và phạm vi nghiên cứu
Xây dựng và phát triển nền tảng GTChat thành một ứng dụng hoàn chỉnh, cung cấp dưới
dạng miễn phí, kết hợp liền mạch chức năng trò chuyện với AI và các tính năng tương tác mạng
xã hội, với kiến trúc ưu tiên cho thiết bị di động và có khả năng đáp ứng trên đa nền tảng.
Dựa trên các sản phẩm mẫu (prototype) đã được thiết kế trên Figma, đề tài đặt ra các mục tiêu cụ thể sau:
Phát triển giao diện: Hiện thực hóa giao diện người dùng (UI/UX) theo triết lý 9
mobile-first đã được thiết kế, đảm bảo tính trực quan và dễ sử dụng.
Xây dựng phiên bản đa nền tảng: Phát triển phiên bản cho máy tính (desktop)
như một sự nâng cấp tiến bộ (progressive enhancement) từ phiên bản di động, đồng bộ hóa
trải nghiệm và dữ liệu một cách nhất quán.
Tích hợp Chatbot: Tích hợp API của nhiều mô hình AI, quản lý và phân loại
chúng vào các danh mục chatbot chuyên dụng để phục vụ các nhu vực đa dạng (học tập,
lập trình, sáng tạo...).
Xây dựng thuật toán gợi ý: Nghiên cứu và phát triển thuật toán cho trang "Khám
phá", có khả năng cá nhân hóa và gợi ý nội dung (chatbot, bài viết) phù hợp với hành vi và
sở thích của người dùng.
Đối tượng người dùng: Cộng đồng người dùng phổ thông từ 18 tuổi trở lên tại
Việt Nam, quan tâm đến công nghệ AI nhưng không yêu cầu có trình độ kỹ thuật chuyên sâu.
Nền tảng phát triển: Xây dựng dưới dạng một Ứng dụng web lũy tiến (Progressive
Web App - PWA) để đảm bảo khả năng tiếp cận trên mọi thiết bị (di động, máy tính bảng,
máy tính) thông qua trình duyệt web.
Phạm vi chức năng: Tập trung vào các tính năng cốt lõi bao gồm: tương tác
chatbot, đăng tải bài viết, bình luận, đánh giá, chia sẻ, và khám phá nội dung.
Phạm vi địa lý: Ban đầu tập trung vào thị trường Việt Nam, với kiến trúc được
thiết kế để có khả năng mở rộng ra các thị trường khác trong tương lai.
1.3. Đối tượng và phương pháp nghiên cứu
Đối tượng chính: Kiến trúc và mô hình của một nền tảng tích hợp AI chatbot và cộng đồng trực tuyến.
Đối tượng khảo sát: Người dùng cuối (end-users) có độ tuổi từ 18 trở lên, có hành vi sử
dụng mạng xã hội và quan tâm tới công nghệ.
Các trường hợp sử dụng (Use Cases): Tập trung vào các kịch bản phục vụ mục đích kết
nối cộng đồng, hỗ trợ giáo dục và thúc đẩy sáng tạo.
Đề tài áp dụng tổng hợp các phương pháp nghiên cứu hiện đại trong lĩnh vực phát triển phần mềm:
Phương pháp nghiên cứu người dùng:
Tiến hành lập bản đồ hành trình người dùng (User Journey Mapping) dựa trên kết
quả kiểm thử các prototype.
Phân tích hành vi cộng đồng dựa trên các mô hình thành công và thói quen sử dụng
mạng xã hội của người Việt.
Thực hiện kiểm thử khả năng sử dụng (Usability Testing) với các mẫu thiết kế trên
Figma cho cả hai nền tảng di động và máy tính. 10
Phương pháp thiết kế và phát triển:
Tuân thủ phương pháp luận thiết kế ưu tiên di động (Mobile-First Design).
Áp dụng kỹ thuật nâng cấp tiến bộ (Progressive Enhancement) để mở rộng tính
năng từ phiên bản di động lên máy tính.
Xây dựng một hệ thống thiết kế dựa trên thành phần (Component-Based Design
System) để đảm bảo tính nhất quán và khả năng tái sử dụng trong toàn bộ ứng dụng.
Phương pháp nghiên cứu kỹ thuật:
Nghiên cứu các mẫu thiết kế tích hợp API (API Integration Patterns) để làm việc
hiệu quả với nhiều nhà cung cấp chatbot.
Phân tích các kiến trúc cho tính năng xã hội (Social Features Architecture) nhằm
đảm bảo khả năng mở rộng trong tương lai.
Nghiên cứu các kỹ thuật tối ưu hóa hiệu suất cho thiết bị di động và các kỹ thuật xử
lý ngôn ngữ tự nhiên tiếng Việt cơ bản.
1.4. Ý nghĩa khoa học và thực tiễn
Đóng góp vào lĩnh vực nghiên cứu thiết kế phần mềm một trường hợp điển hình (case
study) về việc xây dựng nền tảng chatbot kết hợp cộng đồng theo triết lý mobile-first cho thị trường đặc thù như Việt Nam.
Đề xuất và thử nghiệm một thuật toán khám phá nội dung, góp phần vào lĩnh vực hệ thống
gợi ý (recommender systems) cho các nền tảng có nội dung đa dạng (công cụ và xã hội).
Cung cấp dữ liệu nghiên cứu về trải nghiệm người dùng đa thiết bị (cross-device UX) thông
qua quá trình kiểm thử và phát triển PWA.
Bình dân hóa AI: Tạo ra một nền tảng miễn phí, đóng vai trò là cầu nối giúp đông đảo
người dùng Việt Nam tiếp cận công nghệ AI, góp phần thực hiện mục tiêu chuyển đổi số quốc gia.
Xây dựng cộng đồng: Trở thành hạt nhân hình thành một cộng đồng AI mạnh mẽ tại Việt
Nam, là nơi quy tụ, chia sẻ và lan tỏa tri thức.
Tối ưu hóa cho di động: Đáp ứng nhu cầu thực tế của thị trường khi có đến 88% thời gian
trực tuyến của người Việt được dành cho ứng dụng di động.
Tác động kinh tế - xã hội: Hỗ trợ các doanh nghiệp vừa và nhỏ (SMEs), sinh viên, và cá
nhân có cơ hội tìm hiểu, ứng dụng các giải pháp AI mà không tốn chi phí ban đầu, từ đó
nâng cao năng lực cạnh tranh và kỹ năng số.
1.5. Bố cục đồ án
Ngoài phần Mở đầu, Kết luận và Tài liệu tham khảo, nội dung chính của báo cáo được cấu
trúc thành các chương sau:
Chương 1 - Tổng quan đề tài: Giới thiệu tổng quan về nền tảng GTChat, luận giải lý do 11
chọn đề tài, xác định mục tiêu, phạm vi, phương pháp nghiên cứu và ý nghĩa của đề tài.
Chương 2 - Cơ sở lý thuyết: Trình bày các cơ sở lý luận về kiến trúc phần mềm, các mô
hình thiết kế ưu tiên di động, và các nguyên tắc xây dựng nền tảng mạng xã hội.
Chương 3 - Phân tích hệ thống: Phân tích chi tiết các yêu cầu chức năng và phi chức
năng rút ra từ khảo sát và prototype, phân tích kịch bản tương thích mobile-desktop, và mô hình
hóa hệ thống bằng ngôn ngữ UML.
Chương 4 - Thiết kế hệ thống: Trình bày chi tiết các quyết định thiết kế, bao gồm kiến
trúc hệ thống, thiết kế cơ sở dữ liệu, thiết kế API, và thiết kế các thành phần giao diện dựa trên bản dựng Figma.
Chương 5 - Cài đặt và triển khai: Mô tả kế hoạch và quá trình hiện thực hóa sản phẩm
từ các bản thiết kế, chiến lược kiểm thử đa nền tảng, và đề xuất kế hoạch triển khai, phát triển trong tương lai. 12
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan lĩnh vực
Dự án GTChat được định vị là một hệ thống tích hợp phức hợp, nằm ở giao điểm của ba
lĩnh vực công nghệ cốt lõi: Hệ thống thông tin quản lý (MIS), Trí tuệ nhân tạo Ứng dụng
(Applied AI), và Nền tảng Mạng xã hội (Social Network Platforms).
Hệ thống thông tin quản lý: Đây là nền tảng của dự án, chịu trách nhiệm quản lý toàn bộ
vòng đời dữ liệu. Hệ thống không chỉ quản lý nội dung do người dùng tạo ra (bài đăng, bình luận)
mà còn phải quản lý một thư viện các chatbot chuyên dụng do chính GTChat biên soạn và
cung cấp. Điều này đòi hỏi một hệ thống backend vững chắc để lưu trữ, phân loại, và quản lý các
cấu hình chatbot này, đặc biệt là các "System Prompt" định nghĩa hành vi cho từng chatbot.
Trí tuệ nhân tạo Ứng dụng và Tích hợp API: Trọng tâm của dự án là việc khai thác sức
mạnh của các Mô hình Ngôn ngữ Lớn (LLM) từ bên thứ ba thông qua API. GTChat hoạt động
như một lớp trung gian (middleware layer) thông minh. Thay vì chỉ đơn thuần chuyển tiếp yêu cầu
của người dùng, hệ thống sẽ chèn thêm các "System Prompt" đã được định nghĩa trước để "hướng
dẫn" LLM tổng quát hành xử theo một vai trò chuyên biệt (ví dụ: trợ lý lập trình, chuyên gia ngôn ngữ, nhà nghiên cứu).
Nền tảng Mạng xã hội: Yếu tố cộng đồng được xây dựng xung quanh các công cụ AI do
GTChat cung cấp. Đây là không gian để người dùng thảo luận, đánh giá hiệu quả của các mô hình,
chia sẻ các mẹo sử dụng chatbot hiệu quả, và đăng tải các bài viết phân tích về lĩnh vực AI. Trang
"Khám phá" không chỉ giúp người dùng tìm kiếm chatbot và hiển thị các bài viết liên quan giúp
người dùng có cái nhìn trực quan, tạo ra một vòng lặp tương tác giá trị giữa công cụ và cộng đồng.
2.2. Các khái niệm và mô hình liên quan
Để đảm bảo tính khoa học và khả năng mở rộng, dự án áp dụng các mô hình và khái niệm đã được chuẩn hóa.
UML là công cụ trực quan hóa thiết kế hệ thống.
● Biểu đồ Ca sử dụng (Use Case Diagram): Phân định rõ vai trò của người dùng cuối và quản trị viên.
Actor "Người dùng" (User): Quản lý tài khoản, Trò chuyện với LLM tổng quát,
Tìm kiếm và sử dụng Chatbot chuyên dụng, Tạo bài đăng, Bình luận/Thích bài
đăng, Đánh giá Chatbot.
● Biểu đồ Lớp (Class Diagram): Mô tả cấu trúc tĩnh của hệ thống. Lớp SpecializedBot sẽ
là một thực thể trung tâm, chứa các thuộc tính quan trọng như name, description, category,
và quan trọng nhất là system_prompt (kiểu text). Lớp này sẽ không có mối quan hệ "tạo
bởi" trực tiếp với lớp User, thay vào đó nó được quản lý bởi Quản trị viên và có mối quan
hệ "sử dụng bởi" nhiều User.
Mô hình quan hệ là lựa chọn phù hợp để quản lý dữ liệu có cấu trúc và các mối liên kết chặt chẽ. 13
● Thiết kế Lược đồ (Schema Design): Sẽ có một bảng Specialized_Bots làm bảng "master"
chứa danh sách các chatbot do GTChat cung cấp. Bảng này sẽ có các trường như id, name,
description, system_prompt, base_llm_id (tham chiếu đến LLM nền tảng được sử dụng).
Các bảng khác như Posts, Comments, Likes có thể sẽ có khóa ngoại tham chiếu đến
Specialized_Bots.id để người dùng có thể thảo luận hoặc đánh giá một chatbot cụ thể.
Kiến trúc 3 lớp giúp phân tách rõ ràng các thành phần chức năng:
2.2.1. Lớp Trình diễn (Presentation Layer): Giao diện ứng dụng di động (Flutter), nơi người dùng tương tác.
● Đăng nhập – Cho phép người dùng truy cập vào hệ thống bằng email hoặc tài khoản mạng xã hội.
● Quên mật khẩu – Hỗ trợ người dùng đặt lại mật khẩu qua email xác thực.
● Đăng xuất – Kết thúc phiên làm việc và đưa người dùng về trang đăng nhập.
● Chat với mô hình / Chatbot – Cung cấp giao diện trò chuyện giữa người dùng và mô hình AI.
● Gửi yêu cầu API tới server – Chuyển yêu cầu từ giao diện đến các dịch vụ xử lý nghiệp vụ.
● Khám phá – Hiển thị danh sách chatbot, mô hình hoặc bài đăng nổi bật.
● Tạo bài đăng / tương tác cộng đồng – Cho phép người dùng viết bài, thích, bình luận hoặc chia sẻ.
● Thông báo – Hiển thị các thông báo mới nhận được.
● Cập nhật hồ sơ / Cài đặt – Cho phép người dùng chỉnh sửa thông tin cá nhân và tùy chỉnh giao diện.
2.2.2. Lớp Logic nghiệp vụ (Business Logic Layer): Xử lý toàn bộ logic cốt lõi. Khi người
dùng chọn một chatbot chuyên dụng và gửi tin nhắn, lớp nghiệp vụ sẽ có trách nhiệm:
● Xác thực người dùng (Login/OAuth) – Kiểm tra thông tin đăng nhập, tạo hoặc xác minh phiên làm việc.
● Xử lý Chatbot (System Prompt, Gọi mô hình LLM) – Tạo yêu cầu hội thoại và gửi đến
mô hình AI để sinh phản hồi.
● Tìm kiếm mô hình / Chatbot – Lọc và trả về danh sách mô hình phù hợp theo truy vấn người dùng.
● Hiển thị thông tin chi tiết Chatbot – Lấy dữ liệu mô tả, thông số và hiệu suất của từng chatbot.
● Xử lý bài đăng – Tạo, chỉnh sửa hoặc xóa bài đăng người dùng gửi lên.
● Tương tác (Like, Bình luận, Chia sẻ) – Quản lý các hành động tương tác với bài viết.
● Quản lý thông báo – Gửi, lưu và đồng bộ thông báo đến người dùng.
● Cài đặt tài khoản – Thay đổi ngôn ngữ, giao diện hoặc tùy chọn thông báo.
● Cập nhật / Chỉnh sửa hồ sơ – Xử lý yêu cầu thay đổi thông tin cá nhân của người dùng. 14
2.2.3. Lớp Truy cập dữ liệu (Data Access Layer): Chịu trách nhiệm giao tiếp với CSDL, cung
cấp dữ liệu (như system_prompt, thông tin bài đăng) cho lớp nghiệp vụ.
• Bảng User – Lưu thông tin người dùng (email, tên, mật khẩu, token phiên).
• Bảng Models – Lưu dữ liệu về mô hình AI (cấu hình, phiên bản, mô tả).
• Bảng Chatbots – Lưu thông tin chatbot và prompt khởi tạo.
• Bảng Chat_history – Ghi lại lịch sử hội thoại giữa người dùng và chatbot.
• Bảng Post – Lưu nội dung bài đăng trong cộng đồng.
• Bảng Post_like / share / comment – Lưu các tương tác của người dùng với bài viết.
• Bảng Notification – Lưu thông báo gửi đến người dùng.
• Bảng User_settings – Lưu tùy chỉnh ngôn ngữ, chủ đề và chế độ thông báo.
• Bảng User_profiles – Lưu thông tin hồ sơ cá nhân và ảnh đại diện của người dùng.
2.3. Các công trình, nghiên cứu liên quan
Phân tích các sản phẩm tương tự giúp định vị GTChat và học hỏi các mô hình thành công. Hệ thống Ưu điểm Nhược điểm Bài học cho GTChat Character.AI
- Cung cấp một thư - Yếu tố cộng đồng - Chất lượng và sự đa dạng
viện khổng lồ các không mạnh, chủ yếu là của thư viện chatbot được
chatbot chuyên biệt để người dùng tạo và biên soạn là yếu tố sống
(dựa trên các nhân chia sẻ các "nhân vật" còn. vật). của riêng họ.
- GTChat cần tập trung vào
- Trải nghiệm tương - Ít tập trung vào các các chatbot hữu ích cho học
tác rất tập trung và chatbot mang tính công tập, nghiên cứu, lập trình để thú vị. cụ/học thuật. tạo ra sự khác biệt. Poe by Quora
- Cho phép người - Chất lượng của các - Việc GTChat biên soạn
dùng tự tạo bot bằng bot do người dùng tạo và kiểm duyệt chất lượng
prompt, tạo ra sự đa ra không đồng đều, có chatbot là một lợi thế cạnh dạng lớn. nhiều bot "rác".
tranh quan trọng, đảm bảo
trải nghiệm người dùng
- Tích hợp nhiều - Người dùng có thể bị luôn ở mức cao. LLM nền tảng. choáng ngợp bởi số lượng. 15 ChatGPT
- Tính năng mạnh - Yêu cầu người dùng - Cung cấp các công cụ chất (Custom
mẽ, cho phép người phải có tài khoản trả lượng cao, chuyên dụng là GPTs)
dùng chuyên sâu tạo phí (Plus). một nhu cầu có thật. ra các GPT tùy chỉnh
GTChat có thể nhắm đến - Là một tính năng với kiến thức và hành
việc cung cấp các công cụ trong một hệ sinh thái động riêng.
này một cách dễ tiếp cận
lớn, không phải là một hơn và xây dựng một cộng
nền tảng cộng đồng độc đồng xung quanh chúng. lập.
Bảng 2.3.1. So sánh giữa GTChat và các sản phẩm liên quan
2.4. Công nghệ, ngôn ngữ và công cụ sử dụng
Lựa chọn công nghệ được thực hiện dựa trên yêu cầu của dự án và sự phổ biến trong ngành.
Frontend (Ứng dụng di động): Ngôn ngữ/Framework: Dart/Flutter. Lựa chọn tối ưu cho
việc xây dựng ứng dụng di động đa nền tảng với giao diện người dùng phức tạp, hiệu năng cao.
Backend (Máy chủ ứng dụng): Ngôn ngữ/Framework: Python với Django. Django là
một lựa chọn rất phù hợp cho mô hình này vì nó cung cấp sẵn một giao diện quản trị (Admin
Panel) cực kỳ mạnh mẽ. Giao diện này cho phép các Quản trị viên của GTChat có thể dễ dàng
thêm, sửa, xóa và quản lý toàn bộ thư viện chatbot chuyên dụng và các System Prompt của chúng
mà không cần viết thêm nhiều mã lệnh.
Cơ sở dữ liệu: Hệ quản trị CSDL: PostgreSQL. Mạnh mẽ, ổn định, và có khả năng mở
rộng tốt để xử lý cả dữ liệu quan hệ của mạng xã hội và lưu trữ các chuỗi văn bản dài của System Prompt.
Công cụ phát triển và Quản lý:
IDE: Visual Studio Code.
Hệ thống quản lý phiên bản: Git / GitHub.
Kiểm thử API: Postman.
Thiết kế UI/UX: Figma.
Quản lý dự án: Trello hoặc Jira. 16
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG
3.1. Khảo sát hiện trạng
Để xác định rõ các yêu cầu và mục tiêu cho GTChat, đội ngũ đã tiến hành khảo sát quy
trình mà người dùng hiện tại đang thực hiện để đáp ứng các nhu cầu tương tự, từ đó chỉ ra những
bất cập cần được giải quyết.
Hiện tại, không có một hệ thống duy nhất nào đáp ứng trọn vẹn nhu cầu vừa sử dụng công
cụ AI, vừa tham gia cộng đồng thảo luận chuyên sâu. Quy trình của người dùng mục tiêu thường
diễn ra một cách rời rạc và phân mảnh qua nhiều nền tảng khác nhau:
1. Sử dụng các mô hình AI: Người dùng phải truy cập vào nhiều website hoặc ứng dụng
riêng biệt như trang chủ của ChatGPT, Google Gemini, Poe, Perplexity AI, etc. để tương
tác với các LLM khác nhau. Mỗi lần chuyển đổi, họ phải mở tab mới, đăng nhập lại và ngữ
cảnh trò chuyện không được liên kết.
2. Tìm kiếm các công cụ chuyên dụng: Khi cần một chatbot cho mục đích cụ thể (ví dụ: hỗ
trợ viết code, dịch thuật), người dùng thường phải tìm kiếm trên Google, đọc các bài blog
review, hoặc tìm trong các danh sách tổng hợp. Quá trình này tốn thời gian và kết quả
thường không được đảm bảo về chất lượng.
3. Tham gia thảo luận và học hỏi: Người dùng tìm đến các cộng đồng trực tuyến như các
subreddit (ví dụ: r/ChatGPT, r/LocalLLaMA), các nhóm Facebook, diễn đàn công nghệ,
hoặc blog để đọc các bài đánh giá, chia sẻ các "prompt" hay, hoặc thảo luận về các tin tức
mới nhất trong lĩnh vực AI.
4. Áp dụng kiến thức: Sau khi thu thập được một kỹ thuật hay một "prompt" thú vị từ cộng
đồng, người dùng lại phải quay trở lại các ứng dụng chatbot ở bước 1 để thử nghiệm và áp dụng.
Quy trình nghiệp vụ hiện tại bộc lộ nhiều vấn đề và hạn chế lớn:
● Trải nghiệm người dùng phân mảnh: Người dùng buộc phải di chuyển liên tục giữa các
nền tảng khác nhau (nền tảng chat AI, nền tảng mạng xã hội, blog), gây ra sự bất tiện và
làm gián đoạn luồng công việc, tư duy.
● Thiếu tính hợp nhất: Không có sự liên kết chặt chẽ giữa "công cụ" và "cộng đồng". Kiến
thức thảo luận trên mạng xã hội không được tích hợp trực tiếp vào công cụ và ngược lại.
● Khó khăn trong việc khám phá và đánh giá: Việc tìm kiếm một chatbot tùy chỉnh chất
lượng cao, phù hợp với nhu cầu là một thách thức. Người dùng thiếu một nguồn đáng tin
cậy để khám phá và xem các đánh giá khách quan từ những người dùng khác.
● Thiếu môi trường tập trung: Chưa có một "mái nhà chung" cho cộng đồng yêu thích và
làm việc với AI tại Việt Nam, nơi họ vừa có thể sử dụng các công cụ mạnh mẽ, vừa có thể
xây dựng tri thức và kết nối với nhau.
=> Kết luận: Tồn tại một khoảng trống lớn trên thị trường cho một ứng dụng "tất cả trong một",
hợp nhất trải nghiệm sử dụng chatbot AI với một không gian cộng đồng sôi nổi và chuyên môn. 17
GTChat được đề xuất để giải quyết chính xác khoảng trống này.
3.2. Phân tích yêu cầu
● BR1: Xây dựng một nền tảng di động duy nhất, cung cấp giao diện hợp nhất để tương tác
với nhiều mô hình LLM và các chatbot chuyên dụng.
● BR2: Phát triển một thư viện các chatbot chuyên dụng, được GTChat biên soạn và đảm
bảo chất lượng, phục vụ các nhu cầu phổ biến như học tập, nghiên cứu, lập trình.
● BR3: Xây dựng các tính năng mạng xã hội cho phép người dùng tạo và chia sẻ nội dung,
thảo luận, đánh giá về các mô hình AI và chatbot.
● BR4: Cung cấp một trải nghiệm người dùng liền mạch, trực quan, khuyến khích sự tương
tác và gắn bó lâu dài của người dùng với nền tảng.
Các yêu cầu chức năng được phân loại thành các module chính như sau:
● FN-AUTH (Module Quản lý Người dùng)
FN-AUTH-01: Hệ thống cho phép người dùng đăng ký tài khoản mới bằng email và mật khẩu.
FN-AUTH-02: Hệ thống cho phép người dùng đăng nhập vào ứng dụng bằng tài khoản đã đăng ký.
FN-AUTH-03: Hệ thống cho phép người dùng đăng nhập/đăng ký bằng các nền
tảng bên thứ ba như Google, Apple,..
FN-AUTH-04: Hệ thống cho phép người dùng đăng xuất khỏi tài khoản.
FN-AUTH-05: Hệ thống cho phép người dùng quên mật khẩu và cập nhật lại mật khẩu.
FN-AUTH-06: Hệ thống cho phép người dùng xem và chỉnh sửa thông tin hồ sơ cá
nhân (tên hiển thị, ảnh đại diện, tiểu sử).
● FN-CHAT (Module Tương tác AI)
FN-CHAT-01: Hệ thống cung cấp giao diện trò chuyện trực quan để người dùng
có thể gửi tin nhắn và nhận phản hồi từ AI.
FN-CHAT-02: Hệ thống cho phép người dùng lựa chọn và trò chuyện với các LLM
nền tảng (GPT, Gemini, Claude...).
FN-CHAT-03: Hệ thống cho phép người dùng lựa chọn và sử dụng các chatbot
chuyên dụng từ thư viện do GTChat cung cấp.
FN-CHAT-04: Hệ thống lưu trữ và hiển thị lịch sử các cuộc trò chuyện của người dùng.
● FN-SOCIAL (Module Mạng xã hội)
FN-SOCIAL-01: Hệ thống cho phép người dùng tạo một bài đăng mới với nội dung văn bản và hình ảnh.
FN-SOCIAL-02: Hệ thống hiển thị các bài đăng từ cộng đồng trên một dòng thời gian (timeline).
FN-SOCIAL-03: Hệ thống cho phép người dùng xem chi tiết một bài đăng.
FN-SOCIAL-04: Hệ thống cho phép người dùng viết bình luận cho một bài đăng.
FN-SOCIAL-05: Hệ thống cho phép người dùng "Thích" một bài đăng hoặc một 18 bình luận.
FN-SOCIAL-06: Hệ thống cho phép người dùng chia sẻ một bài đăng.
● FN-DISCOVERY (Module Khám phá)
FN-DISCOVERY-01: Hệ thống cung cấp một trang "Khám phá" để giới thiệu các
chatbot chuyên dụng và các bài đăng nổi bật.
FN-DISCOVERY-02: Hệ thống cho phép người dùng tìm kiếm chatbot hoặc bài đăng theo từ khóa.
FN-DISCOVERY-03: Hệ thống cho phép người dùng lọc chatbot theo danh mục
(học tập, lập trình, nghiên cứu...).
FN-DISCOVERY-04: Hệ thống cho phép người dùng đánh giá (xếp hạng sao) và
viết nhận xét cho các chatbot chuyên dụng.
● NFR-PERF-01 (Hiệu năng): Thời gian phản hồi của các thao tác trên giao diện người
dùng (mở màn hình, cuộn danh sách) phải dưới 1 giây. Thời gian nhận phản hồi từ AI phụ
thuộc vào API của bên thứ ba nhưng hệ thống phải hiển thị trạng thái chờ một cách rõ ràng.
● NFR-USAB-01 (Tính dễ sử dụng): Giao diện ứng dụng phải được thiết kế trực quan, nhất
quán, và dễ dàng cho người dùng mới làm quen và sử dụng.
● NFR-SECU-01 (Bảo mật): Mật khẩu người dùng phải được băm (hashing) trước khi lưu
vào cơ sở dữ liệu. Mọi giao tiếp giữa client và server phải được mã hóa bằng giao thức HTTPS.
● NFR-AVAIL-01 (Tính sẵn sàng): Hệ thống phải đảm bảo độ sẵn sàng 99.5%, giảm thiểu
thời gian chết (downtime).
● NFR-SCAL-01 (Khả năng mở rộng): Kiến trúc backend phải cho phép dễ dàng tích hợp
thêm các mô hình LLM mới trong tương lai mà không ảnh hưởng lớn đến các thành phần hiện có.
3.3. Mô hình ca sử dụng (Use Case Model)
Trong giai đoạn phân tích yêu cầu của quy trình phát triển phần mềm, Biểu đồ Ca sử dụng
(Use Case Diagram) là một trong những công cụ mô hình hóa quan trọng nhất của UML. Nó xuất
phát từ nguyên tắc cơ bản rằng một hệ thống được định nghĩa bởi các chức năng mà nó cung cấp
cho môi trường xung quanh.
• Tương tác và Tác nhân (Actor): Một hệ thống không tồn tại một cách độc lập mà luôn
tương tác với các Tác nhân (Actor) bên ngoài. Tác nhân có thể là một người dùng cuối,
một hệ thống phần cứng/phần mềm khác, hoặc thậm chí là thời gian (đối với các tác vụ theo lịch trình).
• Hành vi và Ca sử dụng (Use Case): Các hành vi của hệ thống, hay các chức năng mà nó
cung cấp cho tác nhân, được mô tả thông qua các Ca sử dụng (Use Case). Mỗi ca sử dụng
là một chuỗi các hành động mà hệ thống thực hiện để mang lại một kết quả có giá trị cho một tác nhân cụ thể.
• Nguyên tắc "What, not How": Điểm đặc trưng quan trọng nhất của phân tích ca sử dụng
là sự tập trung vào yêu cầu chức năng (What), hoàn toàn bỏ qua các chi tiết về cách thức
cài đặt (How). Nguyên tắc này giúp giữ cho giai đoạn phân tích tập trung vào yêu cầu 19
nghiệp vụ, tránh sa đà vào các quyết định thiết kế sớm.
Tóm lại, Biểu đồ Ca sử dụng đóng vai trò như một "bản đồ chức năng" của hệ thống. Nó mô tả một cách trực quan:
• Các chức năng mong đợi của hệ thống (các use case).
• Môi trường tương tác của nó (các actor).
• Ranh giới giữa bên trong và bên ngoài hệ thống.
3.3.1. Danh sách các Use case
Mô hình ca sử dụng mô tả các tương tác giữa người dùng (actor) và hệ thống để đạt được một mục tiêu cụ thể. STT Tên Use Case Mô tả
Người dùng cung cấp thông tin (email, mật khẩu) để 1 Đăng ký
tạo một tài khoản mới trên hệ thống.
Người dùng cung cấp email và mật khẩu để xác thực và 2 Đăng nhập truy cập vào hệ thống.
Người dùng kết thúc phiên làm việc và đăng xuất khỏi 3 Đăng xuất tài khoản hiện tại.
Người dùng quên mật khẩu từ một tài khoản đã đăng 4 Quên mật khẩu ký trước đây.
Người dùng xem và cập nhật các thông tin cá nhân như 5 Trang cá nhân
tên hiển thị, ảnh đại diện, tiểu sử. Trò chuyện với
Người dùng bắt đầu một cuộc trò chuyện, gửi tin nhắn 6 AI(Chatbot)
tới một LLM nền tảng và nhận phản hồi.
Người dùng soạn thảo và đăng tải một bài viết mới 7 Tạo bài đăng
(văn bản, hình ảnh) lên cộng đồng.
Hệ thống hiển thị một danh sách các bài đăng cho 8 Cộng đồng
người dùng xem. Người dùng thực hiện tương tác đối
với bài đăng, xem trang cá nhân của các user khác
Người dùng sử dụng chức năng tìm kiếm, duyệt trang 9 Khám phá
Khám phá để tìm chatbot hoặc bài viết theo nhu cầu. 10 Thông báo
Người dùng tương tác, bật tắt thông báo. 20