Unity AI-使用Ollama本地大語言模型運行框架運行本地Deepseek等模型實現聊天對話(二)

一、使用介紹

官方網頁:Ollama官方網址

中文文檔參考:Ollama中文文檔

相關教程:Ollama教程

使用版本:Unity 2022.3.53f1c1、Ollama 0.6.2

示例模型:llama3.2

二、運行示例

三、使用步驟

1、創建Canvas面板

具體層級如下

主要組件:發送按鈕、輸入框、滾動框

2、編寫代碼Webrequest

using System;
using System.Collections;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using Button = UnityEngine.UI.Button;public class Webrequest : MonoBehaviour
{//curl http://localhost:11434/api/generate -H "Content-Type: application/json" -d "{ \"model\": \"llama3\", \"prompt\": \"你好\", \"stream\": false }"public Text text;public InputField input;public Button sendBtn;public ScrollRect scrollRect;void Start(){sendBtn.onClick.AddListener(OnSend);}private void Update(){if (Input.GetKeyDown(KeyCode.KeypadEnter) || Input.GetKeyDown(KeyCode.Return)){OnSend();}scrollRect.content.sizeDelta = text.rectTransform.sizeDelta;}void OnSend(){if (input.text != ""){text.text += $"你:{input.text}\n\n";scrollRect.verticalScrollbar.value = -0.1f;StartCoroutine(SendOllamaRequest(input.text));input.text = "";}else{text.text += "不能為空\n\n";scrollRect.verticalScrollbar.value = -0.1f;}}IEnumerator SendOllamaRequest(string value){// 目標 URLstring url = "http://localhost:11434/api/generate";string jsonData = $@"{{""model"": ""llama3.2"",""prompt"": ""{value}"",""stream"": false}}";// 創建 POST 請求UnityWebRequest request = new UnityWebRequest(url, "POST");byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonData);request.uploadHandler = new UploadHandlerRaw(bodyRaw);request.downloadHandler = new DownloadHandlerBuffer();// 設置請求頭request.SetRequestHeader("Content-Type", "application/json"); yield return request.SendWebRequest();// 處理響應if (request.result != UnityWebRequest.Result.Success){Debug.LogError($"Error: {request.error}");}else{string responseJson = request.downloadHandler.text;Debug.Log("Response: " + responseJson);// 解析 JSON 響應(示例)OllamaResponse response = JsonUtility.FromJson<OllamaResponse>(responseJson);// 訪問字段Debug.Log($"模型: {response.model}");Debug.Log($"回復: {response.response}");text.text += "智能體:" + response.response + "\n\n";Debug.Log($"生成耗時: {response.eval_duration / 1e12} 秒");scrollRect.verticalNormalizedPosition = -0.1f;}}
}

3、將代碼拖到場景中

將場景對應的對象拖動到Webrequest上

4、運行場景

輸入對話內容,點擊發送,等待AI回應

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

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

相關文章

從 BERT 到 GPT:Encoder 的 “全局視野” 如何喂飽 Decoder 的 “逐詞糾結”

當 Encoder 學會 “左顧右盼”&#xff1a;Decoder 如何憑 “單向記憶” 生成絲滑文本&#xff1f; 目錄 當 Encoder 學會 “左顧右盼”&#xff1a;Decoder 如何憑 “單向記憶” 生成絲滑文本&#xff1f;引言一、Encoder vs Decoder&#xff1a;核心功能與基礎架構對比1.1 本…

數據結構入門:詳解順序表的實現與操作

目錄 1.線性表 2.順序表 2.1概念與結構 2.2分類 2.2.1靜態順序表 2.2.2動態順序表 3.動態順序表的實現 3.1.SeqList.h 3.2.SeqList.c 3.2.1初始化 3.2.2銷毀 3.2.3打印 3.2.4順序表擴容 3.2.5尾部插入及尾部刪除 3.2.6頭部插入及頭部刪除 3.2.7特定位置插入…

LeetCode熱題100--53.最大子數組和--中等

1. 題目 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 子數組是數組中的一個連續部分。 示例 1&#xff1a; 輸入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 輸出&…

python:練習:2

1.題目&#xff1a;統計一篇英文文章中每個單詞出現的次數&#xff0c;并按照出現次數排序輸出。 示例輸入&#xff1a; text "Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991…

AI Agent 孵化器?開源框架CAMEL

簡介 CAMEL&#xff08;Communicative Agents for Mind Exploration of Large Scale Language Model Society&#xff09;是一個開源框架&#xff0c;大語言模型多智能體框架的先驅者。旨在通過角色扮演和自主協作&#xff0c;探索大語言模型&#xff08;LLM&#xff09;在多智…

關于插值和擬合(數學建模實驗課)

文章目錄 1.總體評價2.具體的課堂題目 1.總體評價 學校可以開設這個數學建模實驗課程&#xff0c;我本來是非常的激動地&#xff0c;但是這個最后的上課方式卻讓我高興不起哦來&#xff0c;因為老師講的這個內容非常的簡單&#xff0c;而且一個上午的數學實驗&#xff0c;基本…

LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding

TL;DR 2024 年 Meta FAIR 提出了 LayerSkip&#xff0c;這是一種端到端的解決方案&#xff0c;用于加速大語言模型&#xff08;LLMs&#xff09;的推理過程 Paper name LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding Paper Reading Note Paper…

解決ktransformers v0.3 docker鏡像中 operator torchvision::nms does not exist 問題

問題背景 更新ktransformers docker鏡像到v0.3版本后&#xff08;之前為v0.2.4post1&#xff09;&#xff0c;使用更新前啟動命令無法正確啟動服務&#xff0c;提示以下錯誤&#xff1a; Traceback (most recent call last):File "/workspace/ktransformers/ktransforme…

如何系統學習音視頻

學習音視頻技術涉及多個領域&#xff0c;包括音頻處理、視頻處理、編碼解碼、流媒體傳輸等。 第一階段&#xff1a;基礎知識準備 目標&#xff1a;掌握音視頻學習所需的計算機科學和數學基礎。 計算機基礎 學習計算機網絡基礎&#xff08;TCP/IP、UDP、HTTP、RTSP等協議&#…

TiDB 可觀測性最佳實踐

TiDB 介紹 TiDB&#xff0c;由 PingCAP 公司自主研發的開源分布式關系型數據庫&#xff0c;是一款創新的 HTAP 數據庫產品&#xff0c;它融合了在線事務處理&#xff08;OLTP&#xff09;和在線分析處理&#xff08;OLAP&#xff09;的能力&#xff0c;支持水平擴容和縮容&…

使用FreeRTOS解決單片機串口異步打印

單片機串口異步打印 文章目錄 單片機串口異步打印前言設計思路準備隊列創建完整代碼 總結 前言 &#x1f30a;在單片機開發中串口的異步打印異步打印允許單片機在執行其他任務的同時進行打印操作&#xff0c;無需等待打印完成后再繼續執行后續代碼&#xff0c;避免了在多處調用…

代碼顏色模式python

1. CMYK&#xff08;印刷場景&#xff09; 例子&#xff1a;某出版社設計書籍封面時&#xff0c;使用 Adobe Illustrator 繪制圖案。 紅色封面的 CMYK 值可能為&#xff1a;C0, M100, Y100, K0&#xff08;通過洋紅和黃色油墨混合呈現紅色&#xff09;。印刷前需將設計文件轉…

HarmonyOS NEXT 詩詞元服務項目開發上架全流程實戰(二、元服務與應用APP簽名打包步驟詳解)

在HarmonyOS應用開發過程中&#xff0c;發布應用到應用市場是一個重要的環節。沒經歷過的童鞋&#xff0c;首次對HarmonyOS的應用簽名打包上架可能感覺繁瑣。需要各種秘鑰證書生成和申請&#xff0c;混在一起分不清。其實搞清楚后也就那會事&#xff0c;各個文件都有它存在的作…

【BotSharp框架示例 ——實現聊天機器人,并通過 DeepSeek V3實現 function calling】

BotSharp框架示例 ——實現聊天機器人&#xff0c;并通過 DeepSeek V3實現 function calling 一、一點點感悟二、創建項目1、創建項目2、添加引用3、MyWeatherPlugin項目代碼編寫4、WeatherApiDefaultService項目代碼編寫5、WebAPI MyWeatherAPI 的項目代碼編寫6、data文件夾中…

百度CarLife實現手機車機無縫互聯

百度CarLife是百度推出的智能車聯網解決方案&#xff0c;通過手機與車機互聯技術&#xff0c;為用戶提供安全便捷的車載互聯網服務體驗。 CarLife 實現手機與車機屏幕的無縫互聯&#xff0c;讓應用內容同步至車載系統&#xff0c;減少駕駛過程中操作手機的頻率&#xff0c;提升…

基于STM32的虛線繪制函數改造

改造前&#xff1a; uint16_t DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { // GUI_DrawLine( x1, y1, x2, y2); // return 1;int16_t deltaX, deltaY;int16_t error, stepErrorLT, stepErrorGE;int16_t stepX, stepY;int16_t steep;int16_t…

Java高頻面試之并發編程-10

hello啊&#xff0c;各位觀眾姥爺們&#xff01;&#xff01;&#xff01;本baby今天來報道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面試官&#xff1a;ThreadLocalMap 怎么解決 Hash 沖突的&#xff1f; ThreadLocalMap 是 ThreadLocal 的核心實現&#xff0c;它采用 開放…

AI應用實戰:Excel表的操作工具

有個小需求是這樣的&#xff0c;需要在一份數據表里&#xff0c;將1000多個客戶的月報數據分別單獨截圖存檔&#xff0c;有客戶需要的時候就要發給客戶&#xff0c;截圖下來的也是以客戶為命名&#xff0c;這樣查找時也比較容易匹配上。 在沒有寫工具之前&#xff0c;以往財務…

使用 DoH 查詢域名 —— 以 core.tantanapp.com 為例的實戰分析

前言 在現代 iOS 應用中&#xff0c;為了確保 DNS 查詢的隱私和完整性&#xff0c;我們可以使用 DoH&#xff08;DNS over HTTPS&#xff09; 來查詢域名信息。 本文將以 https://cloudflare-dns.com/dns-query?namecore.tantanapp.com&typeA 為例&#xff0c;通過 Postm…

Python----卷積神經網絡(卷積為什么能識別圖像)

一、卷積的概念 卷積是一種數學運算&#xff0c;通常用于信號處理和圖像分析。在卷積神經網絡中&#xff0c;卷積操作用于提取輸入數據&#xff08;如圖像&#xff09;中的特征。通過將輸入數據與卷積核&#xff08;濾波器&#xff09;進行卷積運算&#xff0c;CNN能夠識別圖像…