(SwiftUI) Animalia Explorer

目的:製作關於動物識別的APP,並結合OpenAI 的 API ,讓使用者可以透過互動的方式獲得動物的相關資訊。此外,我們還融入了虛擬實境技術,可以將虛擬的動物實際放在現實的生活中,讓使用者在家中也能輕鬆建造屬於自己的動物園。

NavigationViewModel

初始使用 APP 時,會判斷是否為第一次 APP ,若為第一次使用 APP ,將會跳轉到 NavigationViewModel ,頁面會簡單介紹該程式是如何進行操作的

MLRecognitionViewModel

點選 NavigationViewModel 右上方的 Done 後,會進入到主頁面的 MLRecognitionViewModel ,在這個頁面可以使用 Library 或是 Camera 獲取動物的圖片並進行影像辨識,模型辨識後會將 Top-5 印出來

ChatViewModel

接下來辨識後的動物,可以點選模型認為機率最高的動物跳轉到 ChatViewModel,並且交由 OpenAI API 去生成動物的簡介,並在生成簡介時,也會搭配語音輸出,若是想停止發聲,可以點選右下角的 stop 鍵

LanguageViewModel

接下來可以點選右上角的按鈕打開 LanguageViewModel ,我們可以改變 OpenAI API 所生成的語言,並且下方也有 maxToken 可以進行調整,能夠調整 maxToken ,是因為有時候生成出的答案並不完整,所以必須調整 maxToken 讓答案更加完整,且在生成除了英語以外的答案,都需要較長的 maxToken

ListViewModel

我們也新增了 ListViewModel ,也就是常見的動物列表,這樣你就無需使用影像辨識,也能透過列表中的動物去了解該動物的相關資訊,列表中的右上方會有 AR 的圖示,若是顯示綠色的話,代表在我們的 APP 中,是有提供動物的 3D 模型,讓你能夠更加了解該動物的特徵

ARViewModel

使用 ARViewModel 讓我們能夠在現實的世界建構屬於我們的動物園

Demo

Reference

  • MLRecognitionViewModel
  • LanguageViewModel
  • ARViewModel

https://www.patreon.com/posts/60599655

  • ChatViewModel

--

--