【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…...
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章14:时序数据处理:捕捉温度的脉搏
第14期:时序数据处理:捕捉温度的脉搏 📈 时序数据 | 阅读时长:14分钟 | 难度:⭐⭐⭐⭐📌 引言 温度是时间的函数,时序数据是高炉最核心的数据类型! 时序数据处理的关键挑战ÿ…...
Claude Code开发者如何配置Taotoken解决额度问题
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Claude Code开发者如何配置Taotoken解决额度问题 对于依赖Claude Code进行日常开发的工程师来说,遇到原服务额度耗尽或…...
Qianfan-OCR效果展示:看AI如何精准识别复杂表格与多栏文档,结果超乎想象
Qianfan-OCR效果展示:看AI如何精准识别复杂表格与多栏文档,结果超乎想象 1. 引言:当传统OCR遇到现代文档的挑战 在日常工作中,我们经常需要处理各种文档——从简单的合同到复杂的财务报表,从整齐的发票到混乱的网页截…...
IC Compiler布图规划保姆级教程:从TDF文件到电源环,新手避坑指南
IC Compiler布图规划实战手册:从TDF解析到电源环构建的21个关键操作节点 刚拿到综合后网表的芯片设计新手,面对布图规划这个"后端设计第一关"时,往往会在TDF文件解析、电源环连接等环节遭遇各种"暗坑"。本文将以真实项目…...
告别background page!Chrome插件开发从Manifest V2升级到V3,Service Worker保姆级迁移指南
Chrome插件开发:从Manifest V2到V3的Service Worker实战迁移指南 如果你正在为Chrome插件从Manifest V2升级到V3而头疼,特别是面对background page到Service Worker的转变感到困惑,这篇文章就是为你准备的。我们将深入探讨如何将你的插件平滑…...
MRCV开源工具库:用AI潜在表示与神经网络重塑音乐创作与声音设计
1. MRCV:当AI遇见声音,一个开源工具库如何重塑音乐创作作为一名在音频编程和音乐技术领域摸爬滚打了十多年的从业者,我见证了从简单的MIDI音序器到复杂的物理建模合成器的演变。但最近几年,最让我感到兴奋的,无疑是人工…...
【信号去噪】基于马氏距离和EDF统计(IEE-TSP)的基于小波的多元信号去噪方法研究附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 dz…...
CANN/AMCT贡献指南
贡献指南 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 本项目欢迎广大开发者体验并参与贡献,在参与社区贡献之前。请参见cann-community了解行为准则,进行CLA协议签署&am…...
Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解 本教程将逐步演示如何将 Hermes Agent 工具的后端切换至 Taotoken 平台…...
轻量级AI推理引擎cortex-lite:嵌入式与边缘计算部署实战
1. 项目概述:一个轻量级的AI推理引擎最近在折腾一些边缘计算和嵌入式AI应用时,我一直在寻找一个既轻量又高效的推理引擎。市面上成熟的框架不少,但要么对资源要求太高,要么定制化起来非常麻烦。直到我遇到了Rezzyman/cortex-lite这…...
