M2522009 nvnga bao cao thuc tap unity llm ok (2)

26 0 0
Tài liệu đã được kiểm tra trùng lặp
M2522009 nvnga bao cao thuc tap unity llm ok (2)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

XÂY DỰNG ỨNG DỤNG THAM QUAN ẢO TRUNG TÂM HỌC LIỆU ĐHCT. Hiện nay, việc áp dụng công nghệ ảo vào lĩnh vực giảng dạy, tham quan, xây dựng, giải trí, …. đang là xu thế ở các nước. Công nghệ áp dụng việc phác thảo những mô hình 3D sống động, mang tính trực quan cao. Việc tạo ra một mô hình trung tâm học liệu với các phòng học, phòng nghiên cứu , thực hành, thư viện, … giúp sinh viên có cái nhìn tổng quan về thư viện, các khoa, trường, giúp sinh viên khái quát đường đi, thích thú hơn khi học, nghiên cứu ở thư viện và trường.

Trang 1

TRƯỜNG ĐẠI HỌC CẦN THƠ

TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-🖎🕮✍ -

BÁO CÁO

THỰC TẬP TỐT NGHIỆP

TRUNG TÂM CNPM TRƯỜNG ĐẠI HỌC CẦN THƠ

ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG THAM QUAN ẢO TRUNG TÂM HỌC LIỆU ĐHCT

Giảng viên hướng dẫn: TS GVC Nguyễn Thanh Hải

Trang 2

LỜI CẢM ƠN

Với lòng biết ơn sâu sắc, tôi cũng muốn bày tỏ lòng biết ơn đến TS.GVC.Nguyễn Thanh Hải vì việc chỉ ra những sai sót, hướng dẫn giải quyết giúp tôi hoàn thành thực tập tốt nhất có thể

Tôi xin gửi lời cảm ơn đến thầy TS Cù Vĩnh Lộc và trung tâm CNPM trường Đại học Cần Thơ vì sự tận tâm hướng dẫn và giúp đỡ trong quá trình học tập và hoàn thành thực tập tại cơ quan

Tôi cũng biết ơn đến các thầy cô trong bộ môn Hệ thống thông tin, cũng như các thầy cô giảng dạy tại Trường Công nghệ thông tin và Truyền thông, Đại học Cần Thơ vì sự giúp đỡ trong quá trình học tập và nghiên cứu

Trải qua quá trình học tập và thực hiện đề tài, tôi luôn nhận được sự động viên từ bạn bè, đồng nghiệp và người thân trong gia đình Mặc dù còn thiếu kinh nghiệm nghiên cứu và hạn chế về thời gian và thiết bị, nhưng tôi rất mong nhận được sự đóng góp và đánh giá của các thầy cô và các bạn học viên Tôi xin chân thành cảm ơn!

Xin lưu ý: Phần phân tích thiết kế, chi tiết hệ thống và thiết kế nhân vật, môi trường Do hệ thống ứng dụng phần hệ thống ban đầu là kết quả của một tập thể nên xin không trình bài tại báo cáo thực tập cá nhân của em Vì ứng dụng là đề tài nghiên cứu khoa học của cả nhóm và em chỉ là một thành viên nên em xin phép trình bày phần em nghiên cứu và thực hiện trong quá trình thực hiện

Cần Thơ, ngày tháng năm 2024

Học viên thực hiện

Nguyễn Việt Nga

Trang 3

PHIẾU ĐÁNH GIÁ BÁO CÁO THỰC TẬP TỐT NGHIỆP THẠC SĨ NGÀNH HTTT (HƯỚNG ỨNG DỤNG)

HỌC KỲ 2 – 2023 – 2024

(Dùng cho giảng viên chấm báo cáo thực tập)

Họ và tên giảng viên chấm: TS.GVC Nguyễn Thanh Hải

Họ và tên học viên thực tập: Nguyễn Việt Nga Mã số HV: M2522009

Đề tài: Xây dựng ứng dụng tham quan ảo trung tâm học liệu ĐHCT

tối đa chấm Điểm

I.1 Đúng format của khoa (Trang bìa, trang lời cảm ơn, trang mục lục và các nội dung báo cáo) Sử dụng đúng mã và font tiếng Việt (Unicode Times New Roman, Size 13)

- Nếu tham gia xuất bản được bài báo và điểm mục I và II < 10 điểm Thưởng tối đa 1 điểm tùy theo đóng góp của tác giả

Trang 5

2.3.4 Chi tiết các bước cài đặt: 7

a Cài đặt Unity và Package Trung tâm học liệu: 7

b Cài đặt tích hợp LLM vào Unity: 11

c Tạo NPC điều khiển GPT bằng Inworld AI: 12

2.4 Các vấn đề còn tồn tại: 19

2.5 Hướng phát triển 20

TÀI LIỆU THAM KHẢO 21

Trang 6

1.2 Tầm nhìn và sứ mệnh 1.2.1 Tầm nhìn

Trở thành một đơn vị xuất sắc của ngành Công nghiệp phần mềm Việt Nam, đáp ứng nhu cầu của thị trường trong nước và quốc tế

1.2.2 Sứ mệnh

Xây dựng một môi trường năng động, sáng tạo vì sự phát triển nền công nghiệp phần mềm và dịch vụ công nghệ thông tin vùng Đồng bằng sông Cửu Long và Việt Nam

1.3 Triết lý kinh doanh

Hợp tác cùng phát triển với Niềm tin - Đam mê - Trách nhiệm

Phát triển nhân viên: Chúng tôi cam kết tạo dựng môi trường làm việc chuyên nghiệp, đồng tâm hiệp lực, phát hiện và bồi dưỡng nguồn nhân lực thông qua các hoạt động chuyên môn cao và các khóa đào tạo trong và ngoài nước

Cải tiến: Chúng tôi luôn tin tưởng có phương cách tốt hơn để giải quyết vấn đề Ở CUSC không chỉ có công nghệ mà còn ý tưởng mới, dịch vụ mới để làm cho mọi việc tốt hơn Chúng tôi không chỉ đáp ứng yêu cầu mà làm tốt nhất có thể để vượt sự mong đợi của khách hàng

Trang 7

2

PHẦN 2 NỘI DUNG THỰC TẬP 2.1 Lý do chọn đề tài:

Hiện nay, việc áp dụng công nghệ ảo vào lĩnh vực giảng dạy, tham quan, xây dựng, giải trí, … đang là xu thế ở các nước Công nghệ áp dụng việc phác thảo những mô hình 3D sống động, mang tính trực quan cao Việc tạo ra một mô hình trung tâm học liệu với các phòng học, phòng nghiên cứu , thực hành, thư viện, … giúp sinh viên có cái nhìn tổng quan về thư viện, các khoa, trường, giúp sinh viên khái quát đường đi, thích thú hơn khi học, nghiên cứu ở thư viện và trường

2.2 Các nghiên cứu có liên quan:

Xây dựng ứng dụng tham quan ảo khoa CNTT và TT: Tạo trò chơi 3d ứng dụng bằng Unreal Engine và Blender với tính năng định vị và chỉ đường đến văn phòng khoa CNTT, kèm hiệu ứng âm thanh, mô phỏng trực quan nhằm phục vụ tìm hiểu tham quan khoa CNTT và TT của trường DHCT

Ứng dụng Unity3D xây dựng ứng dụng khám phá khoa CNTT và TT (Discovery of CICT): là một ứng dụng trò chơi tham quan ảo khoa CNTT và TT bằng Unity3D và Sketup Pro, trò chơi cho phép người chơi tham quan khoa dưới hình thức minigame và thực hiện nhiệm vụ tìm các phòng học để khám phá khoa

Ứng dụng tham quan bảo tàng ảo bằng web3D: là ứng dụng web cho phép người dùng tham quan các bảo tàng từ xa bằng công nghệ tích hợp thực tế ảo Ứng dụng sử dụng 3d Tour cho phép người dùng có thể truy cập web và di chuyển, quan sát từ các góc nhìn khác nhau, đi đến các vị trí xung quanh như chính bản thân đang đứng trong bảo tàng

2.3 Kết quả thực tập

2.3.1 Nội dung công việc được giao

Nghiên cứu kỹ thuật và thực hành:

- Nghiên cứu và thực hành cài đặt hệ thống trung tâm học liệu được xây dựng bằng Unity: Kết quả có thể xem hệ thống tham quan trung tâm học liệu demo trên https://helpdesk.cusc.vn/tourTTHL/

- Nghiên cứu và cài đặt Unity [3][4][5][6][7][8][9][10] , 3dsmax, tìm hiểu mô hình LLM[1][11]

- Mục tiêu hướng tới là từ hệ thống trung tâm học liệu, tích hợp Ai để nâng cao sự tương tác giữa người tham quan với những nhân vật trong trung tâm học liệu một cách sống động và gần gũi thông qua hợp nhất ý thức với ngữ cảnh và những hành động, cử chỉ phù hợp với ngữ cảnh

2.3.2 Giải pháp thực hiện

- Nghiên cứu Unity

Trang 8

- Nội dung đề tài:

Tìm hiểu, sưu tầm, chụp hình các sơ dồ, cấu trúc tất cả các phòng chức năng, cảnh quan, kiến trúc bên trong, bên ngoài, vật dụng, con người Cấu trúc chi tiết kích thước, chất liệu, ánh sáng,

Thực hiện tham quan, tìm kiếm, tương tác trong trung tâm học liệu

Tích hợp các mô hình AI ví dụ LLM để thực hiện tương tác giữa người chơi và hệ thống và NPC được sinh động, nhằm cung cấp nhiều chức năng hữu ích, hấp dẫn cho người chơi

- Phân tích, thiết kế hệ thống ứng dụng ở phần đầu:

Bố trí môi trường; bố trí nhân vật, NPC ở các tầng trệt, lầu 1, lầu 2

Lập trình cơ chế di chuyển nhân vật, cơ chế tương tác, tìm kiếm của nhân vật, NPC Lập trình bật, tắt, nhấn chuột, bàn phím

Lập trình cơ chế tìm phòng, đường đi, tìm sách

- Phần thực tập tích hợp AI mô hình LLM, tích hợp chatGPT để thực hiện hỏi đáp sinh động giữa người chơi và NPC trí tuệ nhân tạo

Còn ChatGPT thì sao?

Trang 9

4

Hầu hết mọi người truy cập trang này sẽ quen thuộc với ChatGPT do OpenAI phát hành và sẽ chứng kiến sự tương tác với LLM tự nhiên và mạnh mẽ như thế nào Vậy thì tại sao không trực tiếp sử dụng ChatGPT trong trò chơi?

Sử dụng ChatGPT với chi phí quy mô lớn Mỗi tương tác có một khoản chi phí rất nhỏ nhưng khi thực hiện trên quy mô lớn, đối với hàng nghìn người dùng với hàng nghìn lượt tương tác mỗi người, chi phí này không hề nhỏ

Nó tạo ra sự phụ thuộc Nếu vì bất kỳ lý do gì ChatGPT ngừng hoạt động hoặc giá tăng cao và nhà phát triển không đủ khả năng chi trả nữa, trò chơi sẽ bị hỏng

LLM nguồn mở có độ chính xác ngang bằng với ChatGPT Tôi chưa tìm thấy điểm chuẩn chuẩn hóa nào để chứng minh điều này, nhưng các mô hình do Meta (Llama) và Mistral phát hành dường như có độ chính xác tương tự như ChatGPT về mặt chất lượng LLM ngày càng có kích thước nhỏ hơn Mistral 7B[2] gần đây đánh bại Llama2 13B và vượt trội hơn Llama 34B trên nhiều điểm chuẩn Các phương pháp lượng tử hóa đẩy xa hơn giới hạn này bằng cách giảm kích thước mô hình xuống mức có thể sử dụng được trên bất kỳ PC và GPU nào hiện nay Mistral 7B được lượng tử hóa bằng phương pháp Q4_K_M ( model , lượng tử hóa ) yêu cầu tối đa 7GB RAM để chạy

LLMUnity là gói cho phép chạy và phân phối các mô hình LLM trong công cụ Unity

Nó được xây dựng dựa trên thư viện llama.cpp tuyệt vời cho phép sử dụng LLM mà không cần phụ thuộc vào phần mềm bên ngoài và llamafile triển khai llama.cpp theo cách đa nền tảng LLMUnity cung cấp các chức năng sau: Đa nền tảng, hỗ trợ Windows, Linux và macOS; Chạy cục bộ mà không cần truy cập internet nhưng cũng hỗ trợ máy chủ từ xa; Suy luận nhanh về CPU và GPU; Hỗ trợ các mô hình LLM chính; Dễ dàng cài đặt, gọi điện chỉ với 1 dòng code; Miễn phí sử dụng cho cả mục đích cá nhân và thương mại

Làm thế nào nó hoạt động

Trang 10

5

LLMUnity sử dụng máy chủ llama.cpp dưới mui xe Máy chủ nhận được yêu cầu POST, chạy suy luận trên LLM và trả về phản hồi Máy chủ được llamafile biên dịch thành tệp thực thi và có thể được sử dụng trên các hệ điều hành khác nhau (Windows, Linux, MacOS) dựa trên thư viện quốc tế LLMUnity triển khai một ứng dụng khách gửi yêu cầu POST và chuyển kết quả đến ứng dụng Unity của bạn

Hình 1a: Các tùy chọn khác nhau có thể được tham số hóa trong tập lệnh LLM

Chức năng cơ bản:

Trang 11

6

Hàm Chat của LLM được gọi và phản hồi được nhận không đồng bộ khi nó được hoàn thành (theo kiểu phát trực tuyến hoặc không phát trực tuyến) bởi hàm

HandleReply

Hình 1b: Kết quả tích hợp mô hình LLM trong Unity

Đã thực hiện Tạo hai nhân vật NPC điều khiển GPT bằng Inworld AI trong Unity

Hình 2: Kết quả tích hợp mô hình LLM trong Unity

Trang 12

7

Hình 3: Nhân vật NPC được tạo từ ảnh của người

2.3.4 Chi tiết các bước cài đặt:

a Cài đặt Unity và Package Trung tâm học liệu:

Unity là gì? Unity là một game engine đa nền tảng được phát triển bởi công ty Unity Technologies, chủ yếu được dùng để phát triển video game cho 21 nền tảng bao gồm máy tính, game consoles (như PlayStation) và điện thoại,…

Unity hỗ trợ mạnh các tính năng sau:

- Tạo giao diện UI của Game như tạo drop bar, textbox,… - Hiển thị mô hình 3D, 2D – hệ thống vật lý 2D, 3D - Networking: Hỗ trợ tạo game chơi nhiều người cùng lúc

- Hỗ trợ nền tảng đặc biệt mới: AR – Augmented reality (Thực tế tăng cường), VR – Virtual reality (Thực tế ảo)

- AI hỗ trợ con chatpot, LLM, Yolo,… trong màn hình game, hỗ trợ package tạo nên bot trong game

- Hỗ trợ hiển thị chữ bằng font đặc biệt - Ngoại Thất Tổng Thể:

Trang 13

8

Hình 4: Ảnh chụp trung tâm học liệu (Tác giả: Võ Duy Anh)

- Mô hình 3d và texture:

Trang 14

9

Hình 5: Vẽ và dựng 3D (Tác giả: Võ Duy Anh)

- Kết quả cài đặt ứng dụng:

B1: Import package Trung tâm học liệu:

B2: Cài StarterAssets - FirstPerson | Updates in new CharacterController package Công cụ Render Pipeline tích hợp sẵn là Render Pipeline mặc định của Unity Đây là một Render Pipeline đa dụng có các tùy chọn giới hạn cho việc tùy chỉnh Universal Render Pipeline (URP) là một Scriptable Render

Trang 15

10

Pipeline dễ dàng và nhanh chóng tùy chỉnh, cho phép bạn tạo đồ họa tối ưu trên nhiều nền tảng High Definition Render Pipeline (HDRP) là một Scriptable Render Pipeline cho phép bạn tạo đồ họa hiện đại, chất lượng cao trên các nền tảng cao cấp

B3: Starter Assets – ThirdPerson bộ điều khiển cơ sở nhân vật

Giao diện Unity

Trang 16

11

B4: Kết quả tích hợp character và background

Hình 6: Ứng dụng tham quan Trung tâm học liệu

b Cài đặt tích hợp LLM vào Unity:

B1: Cài LLM for Unity

B1: Sử dụng model mistral-7b-instruct-v0.2.Q4KM.gguf [2] để thực hiện debug LLM Thực hiện scene khung chatpot Hình 7 là thực hiện demo khung chatpot của tôi và AI

Hình 7: Cuộc trò chuyện giữa tôi và trí tuệ nhân tạo

Trang 17

12

c Tạo NPC điều khiển GPT bằng Inworld AI:

- Tổng quan về Inworld: Inworld là gì?

1 Inworld là một nền tảng Character Engine mạnh mẽ cho AI NPCs, cho phép tạo ra những nhân vật sống động và gần gũi với người chơi thông qua hành vi phức tạp và biểu đạt đa phương thức của cá nhân - Inworld không chỉ cung cấp sức mạnh cho việc tạo hình nhân vật, mà còn hỗ trợ các tính năng như hợp nhất, ý thức với ngữ cảnh và nâng cao sự tương tác của người chơi, giúp tạo ra trải nghiệm chơi game đa dạng và hấp dẫn

Hình 8: Đăng ký tài khoản ở Inworld AI NPCs

2 Các tính năng cốt lõi của Inworld - Biểu đạt đa phương thức của cá nhân

- Trí tuệ nhân tạo thời gian thực tối ưu cho hiệu suất và quy mô

- Mô hình hành vi tiên tiến với cuộc trò chuyện, giọng nói, hoạt hình và cảm xúc - Mạng ngữ cảnh để hiển thị NPC trong logic và mơ tưởng trong thế giới của họ - Điều khiển an toàn, tri thức, câu chuyện và bộ nhớ có thể cấu hình

Bước 1: Tạo nhân vật (Character Creation)

- Dùng OpenAI - ChatGPT để tạo hội thoại trong thời gian thực chp player Character), nhân vật, trò chơi Tạo demo là trải nghiệm VR trong đó người dùng nói chuyện với nhân vật hoàn toàn tự nhiên chỉ bằng cách nói qua microphone thông qua việc sử dụng GPT của OpenAI Nhân vật nghe người dùng nói và đưa ra phản hồi bằng diễn giải lời nói nghe tự nhiên và khá phù hợp

NPC(Non ChatGPT của OpenAI: https://github.com/srcnalt/OpenAINPC(Non Unity - Tạo nhân vật bằng Inworld:

- Truy cập https://inworld.ai/ Click vào try inworld

Trang 18

13

Hình 9: Tạo nhân vật trong Inworld AI NPCs

- Đăng nhập

- Giao diện tài khoản của Inworld

- Click vào Arcade để có nhiều nhân vật hơn

Trang 19

14

- Tự tạo nhân vật theo theo hình tượng ta cần

- Tạo workspaces:

Trang 20

15

- Điền thông tin chi tiết và upload hình ảnh của nhân vật ta muốn tạo theo hình mẫu này

Trang 22

17

- Tải và cài đặt AI NPC Engine để diễn hoạt cử chỉ, khẩu hình miệng, chuyển động và để giao tiếp chat GPT với nhân vật

- Click Open in Unity Và cài đặt engine này

- Thực hiện tạo scene để import và sử dụng nhân vật Window >Manager package

Trang 23

18

- Khai báo API key và token key để Unity nhận nhan vật được tạo trên Inworld

- Sử dụng import nhân vật vào scene, cấp quyền cho mic và âm thanh của bạn

Trang 24

Giao diện của ứng dụng có màu sắc vẫn chưa thật sự bắt mắt Không có đủ thời gian để xây dựng một hệ thống nhân vật đại diện cho từng người ở trung tâm học liệu như vậy sẽ trực quan hơn Ứng dụng có khung hình giới giạn thích hợp sử dụng di động Hoạt động NPC rất giới hạn, diễn hoạt đơn giản đa phần dùng Asset của Unity hổ trợ Hoạt ảnh của người chơi cũng quá đơn giản, chỉ mang tính demo chưa thật sự hấp dẫn như các game chuyên nghiệp Ứng dụng gần giống như một minigame vẫn chưa thật sự trực quan còn thiếu nhiều chức năng tương tác sinh động, trực quan thực hơn Sự tương tác giữa người chơi và NPC còn đơn giản và sử dụng các mô hình LLM còn đang trong quá trình thử nghiệm và cũng dùng Asset để hỗ trợ, không thực sự tạo hoạt cảnh có kịch bản và diễn hoạt chuyên nghiệp Ứng dụng nặng, chưa thật sự tối ưu Thiếu nhiều chức năng

Trang 26

21

TÀI LIỆU THAM KHẢO

[1] GALLOTTA, Roberto, et al Large Language Models and Games: A Survey and Roadmap arXiv preprint arXiv:2402.18659, 2024.

[2] Jiang, Albert Q., et al "Mistral 7B." arXiv preprint arXiv:2310.06825 (2023).[3] Suvak, J., & Nguyễn, D T (2014) Lập trình Game với Unity: Learn Unity3D programming with UnityScript: Unity's JavaScript for beginners H: Bách khoa Hà Nội

[4] Blackman, Sue, and Jenny Wang Unity for absolute beginners Apress, 2014.[5] Calabrese, Dave Unity 2D game development Packt publishing, 2014.[6] Thorn, Alan Learn unity for 2d game development Apress, 2013.[7] Okita, Alex Learning C# programming with Unity 3D AK Peters/CRC Press, 2019.

[8] Suvak, Janine "Learn Unity3D Programming with UnityScript." Unity’s JavaScript for Beginners (2014).

multi-platform game development Apress, 2013

2021 Mar 24.

[11] Makropoulos, A (Jan 9, 2024) Integrating Large Language Models in the Unity engine with LLMUnity USA: Towards Data Science

Ngày đăng: 08/06/2024, 17:31

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan