【Unity】 HTFramework框架(六十)Assistant助手(在Unity中接入DeepSeek等AI语言大模型)

news2025/5/19 21:00:20

更新日期: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.coloradmin.cn/o/2300016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring AI集成DeepSeek,实现流式输出

前面一篇文章我们实现了《Spring AI集成DeepSeek&#xff1a;三步搞定Java智能应用》&#xff0c;大模型的响应速度是很慢的&#xff0c;为了提升用户体验&#xff0c;我们通常会使用流式输出一点点将结果输出给用户。先看下效果&#xff1a; 在 SpringBoot 中实现流式输出可以…

搭建一个经典的LeNet5神经网络

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络 一、LeNet-5背景 LeNet-…

DeepSeek-R1:通过强化学习激励大型语言模型的推理能力

摘要 我们介绍了第一代推理模型DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero是一个通过大规模强化学习(RL)训练而成的模型,无需监督微调(SFT)作为初步步骤,展示了卓越的推理能力。通过RL,DeepSeek-R1-Zero自然涌现出许多强大而有趣的推理行为。然而,它也面临诸如…

Unity 编辑器热更C# FastScriptReload

工具源码&#xff1a;https://github.com/handzlikchris/FastScriptReload 介绍 用于运行时修改C#后能快速重新编译C#并生效&#xff0c;避免每次改C#&#xff0c;unity全部代码重新编译&#xff0c;耗时旧且需要重启游戏。 使用 需要手动调整AssetPipeline自动刷新模式&…

DeepSeek在linux下的安装部署与应用测试

结合上一篇文章&#xff0c;本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型&#xff0c;主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署&#xff0c;Open WebUI官网也提供了完整的docker部署说明&#xff0c;大家可…

VNC远程控制Mac

前言 macOS系统自带有VNC远程桌面&#xff0c;我们可以在控制端上安装配置VNC客户端&#xff0c;以此来实现远程控制macOS。但通常需要在不同网络下进行远程控制&#xff0c;为此&#xff0c;我们可以在macOS被控端上使用cpolar做内网穿透&#xff0c;映射VNC默认端口5…

计算机视觉:卷积神经网络(CNN)基本概念(一)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络 一、引言 卷积神经网络&…

Python的那些事第二十三篇:Express(Node.js)与 Python:一场跨语言的浪漫邂逅

摘要 在当今的编程世界里,Node.js 和 Python 像是两个性格迥异的超级英雄,一个以速度和灵活性著称,另一个则以强大和优雅闻名。本文将探讨如何通过 Express 框架将 Node.js 和 Python 结合起来,打造出一个高效、有趣的 Web 应用。我们将通过一系列幽默风趣的实例和表格,展…

核货宝外贸订货系统:批发贸易企业出海的强劲东风

在全球贸易一体化的汹涌浪潮中&#xff0c;批发贸易企业正积极探寻海外市场的广阔天地&#xff0c;试图开辟新的增长版图。然而&#xff0c;出海之路绝非坦途&#xff0c;众多难题如暗礁般潜藏在前行的航道上。从复杂繁琐的跨境交易流程、变幻莫测的国际市场需求&#xff0c;到…

最新智能优化算法: 阿尔法进化(Alpha Evolution,AE)算法求解23个经典函数测试集,MATLAB代码

一、阿尔法进化算法 阿尔法进化&#xff08;Alpha Evolution&#xff0c;AE&#xff09;算法是2024年提出的一种新型进化算法&#xff0c;其核心在于通过自适应基向量和随机步长的设计来更新解&#xff0c;从而提高算法的性能。以下是AE算法的主要步骤和特点&#xff1a; 主…

【弹性计算】容器、裸金属

容器、裸金属 1.容器和云原生1.1 容器服务1.2 弹性容器实例1.3 函数计算 2.裸金属2.1 弹性裸金属服务器2.2 超级计算集群 1.容器和云原生 容器技术 起源于虚拟化技术&#xff0c;Docker 和虚拟机和谐共存&#xff0c;用户也找到了适合两者的应用场景&#xff0c;二者对比如下图…

【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调

文章目录 1.背景2.微调方式2.1 关键环境版本信息2.2 步骤2.2.1 下载llama-factory2.2.2 准备数据集2.2.3 微调模式2.2.3.1 zero-3微调2.2.3.2 zero-2微调2.2.3.3 单卡Lora微调 2.3 踩坑经验2.3.1 问题一&#xff1a;ValueError: Undefined dataset xxxx in dataset_info.json.2…

两步在 Vite 中配置 Tailwindcss

第一步&#xff1a;安装依赖 npm i -D tailwindcss tailwindcss/vite第二步&#xff1a;引入 tailwindcss 更改配置 // src/main.js import tailwindcss/index// vite.config.js import vue from vitejs/plugin-vue import tailwindcss from tailwindcss/viteexport default …

计算机视觉-尺度不变区域

一、尺度不变性 1.1 尺度不变性 找到一个函数&#xff0c;实现尺度的选择特性。 1.2 高斯偏导模版求边缘 1.3 高斯二阶导 用二阶过零点检测边缘 高斯二阶导有两个参数&#xff1a;方差和窗宽&#xff08;给定方差可以算出窗宽&#xff09; 当图像与二阶导高斯滤波核能匹配…

SNARKs 和 UTXO链的未来

1. 引言 SNARKs 经常被视为“解决”扩容问题的灵丹妙药。虽然 SNARKs 可以提供令人难以置信的好处&#xff0c;但也需要承认其局限性——SNARKs 无法解决区块链目前面临的现有带宽限制。 本文旨在通过对 SNARKs 对比特币能做什么和不能做什么进行&#xff08;相对&#xff09…

DeepSeek 通过 API 对接第三方客户端 告别“服务器繁忙”

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 上一期分享了如何在本地部署 DeepSeek R1 模型&#xff0c;但通过命令行运行的本地模型&#xff0c;问答的交互也要使用命令行&#xff0c;体验并不是很好。这期分享几个第三方客户端&#xff0c;涵盖了桌…

性格测评小程序07用户登录

目录 1 创建登录页2 在首页检查登录状态3 搭建登录功能最终效果总结 小程序注册功能开发好了之后&#xff0c;就需要考虑登录的问题。首先要考虑谁作为首页&#xff0c;如果把登录页作为首页&#xff0c;比较简单&#xff0c;每次访问的时候都需要登录。 如果把功能页作为首页&…

deepseek多列数据对比,联想到excel的高级筛选功能

目录 1 业务背景 ​2 deepseek提示词输入 ​3 联想分析 4 EXCEL高级搜索 1 业务背景 系统上线的时候经常会遇到一个问题&#xff0c;系统导入的数据和线下的EXCEL数据是否一致&#xff0c;如果不一致&#xff0c;如何快速找到差异值&#xff0c;原来脑海第一反应就是使用公…

国产编辑器EverEdit - “切换文件类型”的使用场景

1 “切换文件类型”的使用场景 1.1 应用背景 一般的编辑器都是通过扩展名映射到对应的语法高亮规则的&#xff0c;比如&#xff1a;文件test.xml中的扩展名“xml"对应XML的语法高亮&#xff0c;在编辑器中打开test.xml就会给不同标识符显示不同的颜色。 但有时一些应用程…

在linux系统中安装Anaconda,并使用conda

系统 : ubuntu20.04 显卡&#xff1a;NVIDIA GTX1650 目录 安装Anaconda第一步&#xff1a;下载合适版本的Anconda1. 查看自己Linux的操作系统及架构命令&#xff1a;uname -a2. 下载合适版本的Anconda 第二步&#xff1a;安装Aanconda1. 为.sh文件设置权限2. 执行.sh文件2.1 .…