【大模型應用開發】Unity結合大模型實現智能問答功能

零、最終效果

Unity結合大模型實現智能問答功能

一、文本自動換行效果

新建一個Text文本,設置文本的最大寬度
在這里插入圖片描述
然后添加Content Size Fitter組件,Vertical Fit選擇Preferred Size
在這里插入圖片描述

二、背景隨文本長度變化效果

新建一個Image作為文本的背景,并將其作為文本的父對象
在這里插入圖片描述
編寫腳本,讓圖片跟隨文本長度的變化而變化

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class Bubble : MonoBehaviour
{// Start is called before the first frame update[Header("氣泡內容")] public Text texContentt;[Header("氣泡背景圖")] public Image imageBG;[Header("文本與氣泡四周的距離")] public float padding = 2f;//四周的距離// Update is called once per framevoid Update(){float textWidth = texContentt.preferredWidth;//當前文本內容在當前字體設置下,完全顯示所需的最小寬度(以像素為單位)float textHeight = texContentt.preferredHeight;//當前文本內容在當前字體設置下,完全顯示所需的最小高度(以像素為單位)if (texContentt.rectTransform.rect.width>textWidth){//當文本內容沒有超出最大寬度時imageBG.rectTransform.sizeDelta = new Vector2(textWidth+padding*2, textHeight+padding*2);this.GetComponent<RectTransform>().sizeDelta = new Vector2(textWidth + padding * 2, textHeight + padding * 2);texContentt.rectTransform.anchoredPosition = new Vector2(padding,-padding);        }else{//當文本內容超出最大寬度時,保持最大寬度,只改變高度imageBG.rectTransform.sizeDelta = new Vector2(texContentt.rectTransform.rect.width+padding*2, textHeight+padding*2);this.GetComponent<RectTransform>().sizeDelta = new Vector2(texContentt.rectTransform.rect.width + padding * 2, textHeight + padding * 2);texContentt.rectTransform.anchoredPosition = new Vector2(padding, -padding);}}}

三、文本流式輸出(打字機)效果

通過協程實現文本流式輸出效果

/// <summary>/// 模擬打字機效果/// </summary>/// <param name="bubbleAnswer">要模擬的氣泡</param>/// <param name="content">氣泡文本的全部內容</param>/// <returns></returns>IEnumerator showText(GameObject bubbleAnswer,string content,PlayAudioButton playAudioButton){float beforeHeight = bubbleAnswer.GetComponent<Bubble>().texContentt.preferredHeight;for (int i = 0; i < content.Length+1; i++){bubbleAnswer.GetComponent<Bubble>().texContentt.text = content.Substring(0, i);yield return new WaitForSeconds(0.1f);}playAudioButton.AddPlayAudioButton(new Vector2(380f, nowHegight + bubbleInterval + 30),gameObjectContent);}

四、文本流式輸出介紹顯示語音播報按鈕效果

按鈕在文本流式顯示結束后在進行添加,在發送問題時進行銷毀

    /// <summary>/// 新建語音播報按鈕/// </summary>/// <param name="vector2">位置</param>/// <param name="gameObject">父對象</param>public void AddPlayAudioButton(Vector2 vector2,Transform gameObject){gameObjectPlayAudio = Instantiate(this.gameObject, gameObject);gameObjectPlayAudio.GetComponent<RectTransform>().anchoredPosition = vector2;}/// <summary>/// 語音播報按鈕銷毀方法/// </summary>public void DestroyPlayAudioButton(){Destroy(gameObjectPlayAudio);}

五、完整的智能問答界面ui邏輯

void SendQustion(){//發送新的問題前先將上次的語音內容和語音按鈕進行刪除if (playAudioButton.gameObjectPlayAudio!=null){playAudioButton.DestroyPlayAudioButton();           }//首先,發送問題,并添加問題氣泡qaControl.AddBubble("question", inputFieldQuestion.text);//將問題發送給大模并得到回答StartCoroutine(llm.SendQueryToModel(inputFieldQuestion.text, conversationId, success =>{//輸入框內容清空inputFieldQuestion.text = "";//將得到的回答轉為語音tts.StartTTS(success, ttsSucess =>{playAudioButton.audioSource.clip = ttsSucess;                });//添加回答氣泡qaControl.AddBubble("answer", success);}));}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912429.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912429.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912429.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python爬蟲-爬取汽車之家全部汽車品牌及車型數據

前言 本文是該專欄的第64篇,后面會持續分享python爬蟲干貨知識,記得關注。 本文,筆者將基于汽車之家平臺,通過Python獲取全部的“汽車品牌以及車型”數據。 廢話不多說,具體實現思路和詳細邏輯,筆者將在正文結合完整代碼進行詳細介紹。接下來,跟著筆者直接往下看正文詳…

簽名組件:uniapp 簽名組件開發,兼容小程序、H5、App等 電子簽名

描述 H5&#xff1a;1. 模擬橫屏。2. 提示信息、模擬態也通過模擬橫屏顯示 小程序&#xff1a;1. 自動橫屏展示 APP&#xff1a;1. 自動橫屏展示 rn-signature 個性簽名組件 組件名 rn-signature 簽名組件兼容H5、APP、小程序。橫屏簽名效果。 效果展示 h5端 小程序端 APP 端…

第10.4篇 使用預訓練的目標檢測網絡

在PyTorch提供的已經訓練好的圖像目標檢測中&#xff0c;均是R-CNN系列 的網絡&#xff0c;并且針對目標檢測和人體關鍵點檢測分別提供了容易調用的方 法。針對目標檢測的網絡&#xff0c;輸入圖像均要求使用相同的預處理方式&#xff0c;即先將每張圖像的像素值預處理到0~1之…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序源碼的運營機制沉淀與規范構建研究

摘要&#xff1a;在數字化商業生態中&#xff0c;運營機制的沉淀與規范構建是企業實現可持續增長的核心命題。本文以開源鏈動21模式、AI智能名片、S2B2C商城小程序源碼為技術基座&#xff0c;提出“機制設計-數據沉淀-規范生成-迭代優化”的四階閉環模型。通過某健康食品品牌的…

js代碼05

題目 好的&#xff0c;我們進入異步編程的“終極形態”&#xff1a;async/await。 async/await 是在 ES2017 (ES8) 中引入的&#xff0c;它并不是一個全新的功能&#xff0c;而是建立在 Promise 之上的語法糖 (Syntactic Sugar)。它的目標是讓我們能夠以一種看似同步、更符合…

PyTorch里.pt和.pth的區別

在PyTorch中&#xff0c;.pt和.pth文件均用于保存模型&#xff0c;但兩者在設計初衷、存儲內容和使用場景上存在差異。以下是詳細對比&#xff1a; 1. 核心區別 特性.pt文件.pth文件存儲內容完整模型&#xff08;結構參數優化器狀態等&#xff09;僅模型參數&#xff08;state…

windows電腦如何安裝iis作為部署服務器并

1.控制面板-程序-啟用或關閉windows功能-勾選iis(縮寫) 2.安裝好iis后在開始中搜索iis就可以看見安裝好了的管理器了

解鎖ChatGPT高級玩法:模塊化提示詞庫開發指南

目錄 &#x1f50d; 一、引言&#xff1a;為什么需要模塊化提示詞庫&#xff1f;&#x1f9f1; 二、模塊化提示詞庫設計原理2.1 核心架構2.2 模塊功能說明 ?? 三、模塊化提示詞庫開發實踐&#xff08;附Python源碼&#xff09;3.1 環境配置3.2 模塊化提示詞生成器3.3 提示詞組…

Spring Boot 實現不同用戶不同訪問權限

前提 近期在使用 Spring Boot&#xff0c;用戶角色被分為管理者和普通用戶&#xff1b;角色不同&#xff0c;權限也就存在不同。 在 Spring Boot 里實現不同用戶擁有不同訪問權限&#xff0c;可借助 Spring Security 框架達成。 實現 1. 添加必要依賴 首先要在 pom.xml 里…

華沿協作機器人:數字孿生技術賦能焊接領域智能化升級

在工業4.0與智能制造浪潮的推動下&#xff0c;焊接行業正經歷從傳統工藝向數字化、柔性化轉型的關鍵階段。作為國內協作機器人領域的創新者&#xff0c;華沿機器人通過融合數字孿生、智能感知與多軸協同技術&#xff0c;在焊接場景中實現了技術突破與應用創新。本文將從技術原理…

Linux中部署Nacos保姆級教程

前置說明&#xff1a; Dokcer部署Nacos官方文檔&#xff1a;Nacos Docker 快速開始 | Nacos 官網 一、Nacos版本說明 Nacos 1.x 版本 Nacos 1.1.3 &#xff1a;是一個相對穩定的版本&#xff0c;在一段時期內被廣泛使用&#xff0c;但目前該版本已經下線&#xff0c;不再單獨維…

戰神授權后臺報錯:Parse error: syntax error, unexpected end of file in解決辦法

問題現象分析 當您在戰神授權后臺遇到"Parse error: syntax error, unexpected end of file"這個錯誤時&#xff0c;說明PHP解析器在解析腳本文件時遇到了意外結束的情況。這種錯誤通常發生在PHP代碼結構不完整時&#xff0c;比如缺少閉合的大括號、分號或者PHP結束…

HTML<span>元素詳解

HTML<span>元素詳解 <span> 是 HTML 中最常用的內聯(inline)容器元素&#xff0c;用于對文檔中的部分文本或內容進行標記和樣式化。 一、基本語法 <span>內容</span>二、主要特點 內聯元素&#xff1a;不會獨占一行&#xff0c;只占據內容所需寬度無…

vscode ssh遠程連接到Linux并實現免密碼登錄

vscode ssh遠程連接到Linux并實現免密碼登錄 文章目錄 vscode ssh遠程連接到Linux并實現免密碼登錄一、安裝VSCode擴展二、Linux側工作三、連接四、實現免密登錄 一、安裝VSCode擴展 擴展一欄搜索remote找到Remote Development插件直接點擊Install安裝即可 二、Linux側工作 U…

超級詳細 的 Apache Camel 教程

前言 通過本教程學習 Apache Camel 的基礎知識并在 Spring Boot 項目上創建您的第一個 Camel。 想開始使用Apache Camel嗎&#xff1f;這是我關于這個流行的 Java 集成框架的教程。 我為完整的初學者編寫了這個 Apache Camel 教程。它向您介紹了 Camel 的核心概念&#xff0c;并…

使用GithubActions和騰訊CloudBase自動發布靜態網頁

騰訊 CloudBase 可以用于托管靜態網站&#xff0c;服務開通之后&#xff0c;使用 CloudBase CLI 可以將本地靜態網站上傳到 CloudBase&#xff0c;并生成相應的訪問域名。 配置 Workflow 創建 .github/workflows/deploy.yml 文件, 編輯內容如下&#xff1a; name: Deploy to…

《聊一聊ZXDoc》之汽車標定、臺架標定、三高標定

ZXDoc支持XCP/CCP標定功能&#xff0c;標定工作貫穿主機廠與Tier1廠商汽車ECU研發、生產、測試的整個流程&#xff0c;是保障ECU性能達標、功能穩定的關鍵。 什么是XCP/CCP標定&#xff1f; XCP/CCP標定是汽車電子領域用于ECU標定和測量的核心通信協議&#xff0c;由ASAM組織…

【目標檢測】評估指標詳解:Precision/Recall/F1-Score

&#x1f9d1; 博主簡介&#xff1a;曾任某智慧城市類企業算法總監&#xff0c;目前在美國市場的物流公司從事高級算法工程師一職&#xff0c;深耕人工智能領域&#xff0c;精通python數據挖掘、可視化、機器學習等&#xff0c;發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

【unity游戲開發——網絡】網絡協議、TCP vs UDP 本質區別

注意&#xff1a;考慮到熱更新的內容比較多&#xff0c;我將熱更新的內容分開&#xff0c;并全部整合放在【unity游戲開發——網絡】專欄里&#xff0c;感興趣的小伙伴可以前往逐一查看學習。 文章目錄 一、網絡協議概述二、OSI七層模型三、TCP/IP四層模型四、核心傳輸協議對比…

Spark Streaming 與 Flink 實時數據處理方案對比與選型指南

Spark Streaming 與 Flink 實時數據處理方案對比與選型指南 實時數據處理在互聯網、電商、物流、金融等領域均有大量應用&#xff0c;面對海量流式數據&#xff0c;Spark Streaming 和 Flink 成為兩大主流開源引擎。本文基于生產環境需求&#xff0c;從整體架構、編程模型、容…