当前位置: 首页 > news >正文

【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,期待他的继续强大。

http://www.lryc.cn/news/537075.html

相关文章:

  • web自动化笔记(二)
  • IIS部署netcore程序后,出现500.30错误解决方案之一
  • spring 学习(spring-Dl补充(注入不同类型的数据))
  • Docker Desktop之Nginx
  • 利用ffplay播放udp组播视频流
  • 【教程】MySQL数据库学习笔记(七)——多表操作(持续更新)
  • 2025.2.14——1400
  • DeepSeek教unity------MessagePack-04
  • Java异常体系深度解析:从Exception到Error
  • 【linux】文件与目录命令 - ln
  • Xilinx kintex-7系列 FPGA支持PCIe 3.0 吗?
  • 无人机遥感技术在农业中的具体应用:株数和株高、冠层覆盖度、作物倒伏检测、叶面积指数、病虫害监测、产量估算、空间数据综合制图
  • 前端框架React知识回顾
  • 坑多多之ac8257 i2c1 rtc-pcf8563
  • webpack构建流程
  • React - 组件之props属性
  • PMTUD By UDP
  • Hutool - BloomFilter:便捷的布隆过滤器实现
  • 【学习资源】时间序列数据分析方法(1)
  • 盛铂科技SWFA100捷变频频率综合器:高性能国产射频系统的关键选择
  • 释放你的元数据:使用 Elasticsearch 的自查询检索器
  • 【快速幂算法】快速幂算法讲解及C语言实现(递归实现和非递归实现,附代码)
  • 3. 导入官方dashboard
  • 怎么理解 Spring Boot 的约定优于配置 ?
  • Dify 是什么?Dify是一个开源的LLM应用开发平台,支持快速搭建生成式AI应用,具有RAG管道、Agent功能、模型集成等特点
  • 数据预处理都做什么,用什么工具
  • windows蓝牙驱动开发-在蓝牙配置文件驱动程序中接受 L2CAP 连接
  • 【原理图PCB专题】自制汉字转码工具,适配Allgero 17版本 Skill
  • 欧拉公式在信号处理中的魔法:调幅信号的生成与频谱分析
  • 如何在Ubuntu中切换多个PHP版本