BACK TO ALL WORKS
畢業製作專案

AI 導覽員 - 璃兒

利用 Unity 互動前端與 RAG 後端技術,打造可即時更新知識、可自然語音對話的 AI 虛擬角色,應用於畢業展覽中與觀眾互動。

2024.05.23 // AI 程式、後端開發、前端開發、Unity 互動介面製作

專案資訊

角色: AI 程式、後端開發、前端開發、Unity 互動介面製作
時間: 2024.04 - 2024.05
類型: 畢業製作專案

技術棧

Unity FastAPI Vue.js LangChain RAG AI

專案目標

為了系上畢業展覽,我們希望創造一個能與觀眾互動、並能即時回答展覽相關問題的 AI 導覽員。傳統的 QA 機器人需要手動設定大量規則,維護困難。我們的目標是利用大型語言模型 (LLM) 和檢索增強生成 (RAG) 技術,讓 AI 能夠理解並回答關於特定展覽作品的資訊,並提供一個方便的後台讓工作人員隨時更新資料。

技術深度解析

此專案的核心架構是 RAG (Retrieval-Augmented Generation)。使用者在 Unity 前端輸入問題後,透過 API 傳送至 FastAPI 後端。

  • 後端收到問題後,先將問題轉換為向量,並在預先建立好的向量資料庫 (Vector Database) 中進行相似度搜尋,找出最相關的幾份文件片段。
  • 接著,將原始問題與搜尋到的文件片段組合成一個新的 Prompt,發送給大型語言模型 (如 GPT)。
  • LLM 根據提供的上下文資訊生成精確的回答,有效避免了模型產生幻覺 (Hallucination) 或回答超出範圍的問題。最終回答再透過 VITS 語音合成模型轉為聲音,搭配 Live2D 動畫,實現生動的互動體驗。

主要功能

  • 動態知識庫: 使用者可透過 Vue.js 製作的後台上傳文件,系統會自動切割、向量化並存入資料庫,實現知識的即時更新。
  • 自然語言互動: 整合語音辨識與 VITS 語音合成,使用者可直接與 AI 進行語音對話。
  • 生動視覺表現: 採用 Unity 結合 Live2D 技術,讓 AI 角色擁有豐富的表情與動作,並能根據對話內容觸發特定動畫。
  • 高可用性 API: 使用 FastAPI 搭建後端服務,提供穩定、高效的 API 接口供 Unity 前端調用。

專案目標

為了系上畢業展覽,我們希望創造一個能與觀眾互動、並能即時回答展覽相關問題的 AI 導覽員。傳統的 QA 機器人需要手動設定大量規則,維護困難。我們的目標是利用大型語言模型 (LLM) 和檢索增強生成 (RAG) 技術,讓 AI 能夠理解並回答關於特定展覽作品的資訊,並提供一個方便的後台讓工作人員隨時更新資料。

技術深度解析

此專案的核心架構是 RAG (Retrieval-Augmented Generation)。使用者在 Unity 前端輸入問題後,透過 API 傳送至 FastAPI 後端。

  • 後端收到問題後,先將問題轉換為向量,並在預先建立好的向量資料庫 (Vector Database) 中進行相似度搜尋,找出最相關的幾份文件片段。
  • 接著,將原始問題與搜尋到的文件片段組合成一個新的 Prompt,發送給大型語言模型 (如 GPT)。
  • LLM 根據提供的上下文資訊生成精確的回答,有效避免了模型產生幻覺 (Hallucination) 或回答超出範圍的問題。最終回答再透過 VITS 語音合成模型轉為聲音,搭配 Live2D 動畫,實現生動的互動體驗。

主要功能

  • 動態知識庫: 使用者可透過 Vue.js 製作的後台上傳文件,系統會自動切割、向量化並存入資料庫,實現知識的即時更新。
  • 自然語言互動: 整合語音辨識與 VITS 語音合成,使用者可直接與 AI 進行語音對話。
  • 生動視覺表現: 採用 Unity 結合 Live2D 技術,讓 AI 角色擁有豐富的表情與動作,並能根據對話內容觸發特定動畫。
  • 高可用性 API: 使用 FastAPI 搭建後端服務,提供穩定、高效的 API 接口供 Unity 前端調用。

專案藝廊