【Unity】 HTFramework框架(六十)Assistant助手(在Unity中接入DeepSeek等AI语言大模型)
更新日期:2025年2月14日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]
索引
- Assistant助手
- 安装Ollama
- 使用Assistant(在编辑器中)
- 打开Assistant
- 配置Assistant
- 使用Assistant
- 处理Assistant回复的内容
- 使用推理大模型
- 使用Assistant(在运行时)
- 用户发起问话
- Assistant回复
Assistant助手
Assistant
为通用AI助手,支持在编辑器
或运行时
调用DeepSeek
等AI语言大模型。
安装Ollama
为了方便演示Assistant
,我们使用相对简单的Ollama
本地部署大模型的方式,关于如何使用Ollama
部署AI大模型,这在网上有很详细的教程,而且非常简单,所以我便不再重复讲解了(当然,如果还是不会,你也可以直接问AI)。
使用Assistant(在编辑器中)
在编辑器
中使用Assistant
,可以帮助你解答一些代码问题或Unity引擎的知识,或直接生成代码。
打开Assistant
通过菜单HTFramework / ★ AI / Assistant打开Assistant
窗口(快捷键Alt + A
):
Assistant
窗口如下:
左侧显示会话历史记录
,右侧显示当前会话内容
,在下方的输入框中输入你的问题,点击发送消息(或按回车)
按钮就可以得到AI助手的解答。
比如随便乱问:
比如问点Unity的东西:
当然,并不是一开始就能使AI助手开始工作,我们必须先进行基本的配置。
配置Assistant
点击Assistant
窗口右上角的设置
按钮,打开配置界面:
配置界面如下:
1.大模型:使用的大模型名称(如果是调用Ollama大模型,则模型参数也必须带上,也即是后面的16b),点击后面的
选择
按钮可快速切换一些预制的大模型(主要是DeepSeek的),当然你也可以手输任何大模型名称;
2.流式请求:大模型生成文本时,采用流式响应;
3.大模型根地址:也即是大模型接口的根级路径,我这里使用Ollama本地部署的,所以直接填localhost
(Ollama默认端口为11434
);
4.API接口:访问的大模型API接口(Ollama默认为/api/generate
);
5.超时时长:单次请求超时时长;
6.多轮对话最大轮数:对话采用多轮对话形式,表示最多7条历史记录会被回传(AI结合对话历史分析问题会更加准确);
7.打印相关日志:主要用于调试时打印相关日志(注意,如果AI生成的内容太长,你的控制台可能会被刷屏);
8.显示推理过程:使用DeepSeek-R1
等推理模型时,会同时显示其推理过程;
9.RunInOllama:点击即可直接调用Ollama启动当前设置的大模型,如果该模型未下载,将会自动下载(仅限Ollama本地部署的情况)。
使用Assistant
配置完成并测试通过后,我们便可以畅通无阻的使用Assistant
了,除了直接在输入框中输入任意问题,你还可以在编辑器中将你不太熟悉的组件,发给Assistant
进行解答(只需右击组件,选择Ask AI Assistant):
等待AI回复:
处理Assistant回复的内容
由于Assistant
回复的内容为Markdown
格式的文本,直接看起来不是很友好,轻量级的Markdown
解析库正好有现成的,但需要引入HTModuleManager模块。
然后点击如下按钮,既可以在通用Markdown
查看窗口中预览内容:
通用Markdown
查看窗口:
使用推理大模型
使用DeepSeek-R1
等推理模型时,AI的回复内容会包含推理过程:
使用Assistant(在运行时)
在运行时
使用Assistant
也很简单,我直接贴出代码。
用户发起问话
public class Test : HTBehaviour
{protected override void Awake(){base.Awake();AskAssistant();}public void AskAssistant(){//ChatSession 即代表一个会话,其包含历史记录并自动回传ChatSession chatSession = new ChatSession("0", "新的会话");chatSession.Data.Model = "deepseek-r1:14b";chatSession.Data.Stream = true;chatSession.BaseAddress = "http://localhost:11434";chatSession.API = "/api/generate";chatSession.Timeout = 60;chatSession.Round = 7;chatSession.IsLogInEditor = false;//向AI说话chatSession.UserSpeak("你好呀!", OnReply, OnEnd);}/// <summary>/// AI回复(如果是流式请求,则重复回调此方法)/// </summary>private void OnReply(string content){Debug.Log("AI回复:" + content);}/// <summary>/// AI回复结束/// </summary>/// <param name="success"></param>private void OnEnd(bool success){Debug.Log("AI回复完成。");}
}
Assistant回复
这里为流式请求:
想要管理多个会话的话,就维护一个ChatSession
数组就可以了。
最后,看好DeepSeek
,期待他的继续强大。
相关文章:

【Unity】 HTFramework框架(六十)Assistant助手(在Unity中接入DeepSeek等AI语言大模型)
更新日期:2025年2月14日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 Assistant助手安装Ollama使用Assistant(在编辑器中)打开Assistant配置Assistant使用Assistant处理Assistant回复的内容使用推理大…...
web自动化笔记(二)
文章目录 一、参数化测试1.pytest命令2.实现参数化测试3.填写地址测试4.生成Allure测试报告5.关键字驱动 二、案例1.实现后台登录1.1登录1.2.处理验证码1.3.封装识别验证码函数 2.通过cookie保持登录2.1给页面添加cookie2.2获取页面的cookie2.3自动化获取cookie 三、excel进行数…...

IIS部署netcore程序后,出现500.30错误解决方案之一
netcore程序部署到IIS后一直出现错误,访问首页后会跳转到登录页地址,然后看到如下错误 HTTP Error 500.30 - ANCM In-Process Start Failure Common solutions to this issue: The application failed to start The application started but then stopp…...

spring 学习(spring-Dl补充(注入不同类型的数据))
前言 在之前的案例,列举的最多的是注入 对象。本篇博客则是补充说我们不仅可以注入对象 还可以注入其他的数据类型包括基本数据类型,引用数据类型。 注入基本数据类型 常见的基本数据类型有:short char int long float double boolean …...

Docker Desktop之Nginx
安装Nginx 把这个复制 到docker 中执行 即可...
利用ffplay播放udp组播视频流
ffplay -fs -fflags nobuffer -flags low_delay -analyzeduration 0 -probesize 32 -framedrop -sync ext -strict experimental udp://224.1.1.1:5001 -fs : 全屏显示 -fflags nobuffer : 禁用输入缓冲(减少100-200ms缓冲延迟) -an…...

【教程】MySQL数据库学习笔记(七)——多表操作(持续更新)
写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 第四章 《数据操…...
2025.2.14——1400
2025.2.14——1400 A 1400 B 1400 C 1400 D 1400 E 1400 F 1400 G 1400 H 1400 ------------------------------------------------ 思维排序/双指针/二分/队列匹配思维二分/位运算思维数学思维 A 一眼想到的是维护信息计数。维护两个信息同时用长的一半去找短的一半…...
DeepSeek教unity------MessagePack-04
Union 联合 MessagePack for C# 支持序列化接口类型和抽象类类型的对象。它的行为类似于 XmlInclude 或 ProtoInclude。在 MessagePack for C# 中,这些被称为Union。只有接口和抽象类可以被 Union 属性注解。需要唯一的联合键。 /******************************…...
Java异常体系深度解析:从Exception到Error
文章目录 前言一、Java异常体系概览ExceptionError 二、受检异常与非受检异常受检异常(Checked Exception)非受检异常(Unchecked Exception) 三、常见的Error类型四、异常处理机制try-catch-finally结构Throws关键字 五、自定义异…...
【linux】文件与目录命令 - ln
文章目录 1. 基本用法2. 常用参数3. 用法举例4. 注意事项 ln 命令用于在文件系统中创建硬链接或符号链接(软链接),是文件共享和路径引用的常用工具。 1. 基本用法 语法: ln [选项] 源文件 [目标文件/目标目录]功能: 创…...

Xilinx kintex-7系列 FPGA支持PCIe 3.0 吗?
Xilinx kintex-7系列资源如下图 Xilinx各系列的GT资源类型和性能 PCIe Gen1/2/3的传输速率对比 K7上面使用的高速收发器GTX最高速率为12.5GT/s, PCIe Gen2 每个通道的传输速率为 5 GT/s。 PCIe Gen3 每个通道的传输速率为 8 GT/s。 所以理论上硬件支持PCIe3.0&#…...
无人机遥感技术在农业中的具体应用:株数和株高、冠层覆盖度、作物倒伏检测、叶面积指数、病虫害监测、产量估算、空间数据综合制图
近年来,随着无人机技术的飞速发展,其在智慧农业领域的应用越来越广泛。无人机遥感作为一种高效的空间大数据获取手段,能够为农业生产提供多时相、多维度、大面积的农情信息,为实现精准农业和智慧农业提供了有力支持。今天…...
前端框架React知识回顾
首先,得确定用户的需求,可能是一个准备面试的前端开发者,想要系统复习React相关知识点。接下来要考虑React的核心概念,比如组件、生命周期、Hooks这些肯定是必须的。然后,面试中常问的问题,比如虚拟DOM、状…...
坑多多之ac8257 i2c1 rtc-pcf8563
pcf85163 ordering information Ordering information Package Description Version Marking code PCF85163T/1 SO8 ① SOT96-1 PF85163 PCF85163TS/1 TSSOP8 ② SOT505-1 85163 ①plastic small outline package; 8 leads;body width 3.9 mm ②plastic thin…...

webpack构建流程
文章目录 [TOC](文章目录) 运行流程初始化流程编译构建流程compile编译make 编译模块build module 完成模块编译 输出流程seal输出资源emit输出完成 小结 运行流程 是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会广播事件,插件只…...

React - 组件之props属性
在 React 中,props(即属性)是组件之间传递数据的一种方式。它是 React 组件的基础,用于将数据从父组件传递到子组件。 一、类组件中 1. props 的作用 数据传递: props 允许父组件向子组件传递数据。子组件可以使用这些数据来渲…...
PMTUD By UDP
通过UDP探测MTU,并实现udp echo server // Description: UDP echo server. // g udp_echo_server.cc -o udp_echo_server #include <iostream> #include <cstring> #include <arpa/inet.h> #include <unistd.h>#define PORT …...
Hutool - BloomFilter:便捷的布隆过滤器实现
1. 布隆过滤器简介 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否存在于一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,但缺点是有一定的误判率,即判断元素存在…...

【学习资源】时间序列数据分析方法(1)
时间序列数据分析是一个有趣的话题,让我们多花一些时间来研究。此篇为第一篇文章。主要介绍特征提取方法、深度学习时序数据分析模型、参考资源。期望能帮助大家解决工业领域的相关问题。 1 特征提取方法:信号处理 (来源:INTELLIGENT FAULT DIAGNOSIS A…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...