自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 RAG技术从入门到精通

大型语言模型(LLMs)展示了强大的能力,但在实际应用中仍面临挑战,如幻觉现象、知识更新缓慢,以及在回答中缺乏透明度。总结来说,LLM存在幻觉、知识的时效性、数据的安全性等问题。所以需要一种技术来解决这些问题,所以RAG技术应运而生。检索增强生成(RAG)指的是在使用LLMs回答问题之前,从外部知识库中检索相关信息。RAG已被证明能显著提高答案的准确性,减少模型的幻觉现象,特别是对于知识密集型任务。通过引用来源,用户可以验证答案的准确性,并增加对模型输出的信任。它还促进了知识更新和特定领域知识的引入。

2024-04-21 23:22:54 842

原创 一文看懂Agent搭建流程

我们配置的内容可以包括名称、简介、logo、设置智能体的特性、开场白、推荐问题、模型能够调用能力的范围;同时也可以上传我们自己的知识库。首先,Agent是真正意义上的一个AI产品.,其次Agent的实现成本比较低,无/低代码开发,产品经理一人搞定。产品能力:需求调研–产品设计–实现–推广–优化。AI能力:提示词的设计、评估、优化。首先在百度搜索智谱清言。

2024-04-17 13:18:46 1764 2

原创 文科生也能看的懂得人工智能原理

语言模型(Language Model,简称 LM)是一个用于建模自然语言(即人们日常使用的语言)的概率模型。简单来说,语言模型的任务是评估一个给定的词序列(即一个句子)在真实世界中出现的概率。这种模型在自然语言处理(NLP)的诸多应用中,如机器翻译、语音识别、文本生成等,都起到了关键性的作用。机器翻译:在生成目标语言句子时,语言模型用于评估哪个词序列更“自然”。语音识别:同样的,语言模型可以用于从多个可能的转录中选择最可能的一个。文本摘要:生成的摘要需要是语法正确和自然的,这也依赖于语言模型。

2024-04-14 22:28:16 999

原创 结构化Prompt撰写方法大全

基本符合预期。

2024-04-08 23:57:49 1262

原创 5款国产大语言模型测评报告

ChatGPT的推出,对整个科技行业而言可谓“平地起惊雷”,正式拉开了大模型产业蓬勃发展的序幕。目前已有多款大模型上线并面向公众提供服务。不过,这些产品在性能、易用性等方面都有所不同。那么究竟哪个更好用呢?本文将从诗歌、作文、数学、专业领域(以计算机领域为例)这四个角度去分析各个国产大语言模型的特点,并结合一些工具和自己的主观感受来对各个大模型进行评测。

2024-04-07 18:45:17 2934

原创 StableDiffusion下载部署及相关参数介绍

链图片转存中…(img-AHeye7zX-1703487221058)]此时,可以从宽度/高度中调整种子,将宽度和高度设为原图的值,如图7-34所示,随后生成的图片结果如图7-35所示。可以看到,虽然小狗的模样仍然发生了变化,但也保留了原图中小狗的很多特征,例如毛色。如果提示语对小狗的外貌描述得更详细,甚至可以得到更好的效果。[外链图片转存中…(img-jPEzeKpA-1703487221058)][外链图片转存中…(img-xiYdBcFv-1703487221059)]

2023-12-25 15:04:21 1220

原创 Midjourney基础教程入门

举个例子,如果输入“一只蓝色的独角兽在星空下”,Midjourney可能会生成一张蓝色的独角兽站在山顶,周围环绕着五颜六色的星星和银河的图片。如果输入“蒸汽朋克风格的机器人”,它则可能创作出一幅金属质感的老式机器人画面,配以飞行物和烟囱等元素。Midjourney完全运行在云端,没有专用客户端,用户需要通过Discord平台与Midjourney机器人进行交互。因此,运行Midjourney对设备硬件没有很高的要求,无论是计算机还是手机,只要可以访问Discord就能使用Midjourney。

2023-12-13 19:32:57 215

原创 Unity基于UDP实现的帧同步细节摘录

18. 收到玩家的操作,更新服务器上认为玩家已经处理的帧id,假如我们当前98帧已经处理完了,服务器发99帧给客户端,客户端处理99帧,所以客户端的sync_frameid是99帧,所以会上报100帧的操作,所以服务器收到100帧的操作,所以服务器默认会认为99帧已经同步完成,所以会将之前认为已经同步了的帧从98改成99。帧同步和写单机游戏是类似的,我们的服务器吧玩家的操作同步给所有的玩家,玩家再本地客户端,根据服务器发过来的操作,来推进游戏。客户端A:|-----|-----|–66.3—|-----|

2023-05-25 16:50:56 1129

原创 Linux系统编程-信号

信号的概念信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。“中断”在我们生活中经常遇到,譬如,我正在房间里打游戏,突然送快递的来了,把正在玩游戏的我给“中断”了,我去签收快递( 处理中断 ),处理完成后,再继续玩我的游戏。这里我们学习的“信号”就是属于这么一种“中断”。

2023-03-09 17:53:38 207

原创 Linux系统编程-进程间通信

管道也叫无名管道,它是是 UNIX 系统 IPC(进程间通信) 的最古老形式,所有的 UNIX 系统都支持这种通信机制。半双工,数据在同一时刻只能在一个方向上流动。数据只能从管道的一端写入,从另一端读出。写入管道中的数据遵循先入先出的规则。管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等。管道不是普通的文件,不属于某个文件系统,其只存在于内存中。管道在内存中对应一个缓冲区。不同的系统其大小不一定相同。

2023-03-09 17:15:49 217

转载 Linux系统编程-进程控制

在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。但是仍然为其保留一定的信息,这些信息主要主要指进程控制块PCB的信息(包括进程号、退出状态、运行时间等)。父进程可以通过调用wait或waitpid得到它的退出状态同时彻底清除掉这个进程。wait() 和 waitpid() 函数的功能一样,区别在于,wait() 函数会阻塞,waitpid() 可以设置不阻塞,waitpid() 还可以指定等待哪个子进程结束。

2023-03-08 17:21:31 207

转载 Linux系统编程-文件和目录操作函数

dup() 和 dup2() 是两个非常有用的系统调用,都是用来复制一个文件的描述符,使新的文件描述符也标识旧的文件描述符所标识的文件。这个过程类似于现实生活中的配钥匙,钥匙相当于文件描述符,锁相当于文件,本来一个钥匙开一把锁,相当于,一个文件描述符对应一个文件,现在,我们去配钥匙,通过旧的钥匙复制了一把新的钥匙,这样的话,旧的钥匙和新的钥匙都能开启这把锁。

2023-03-08 10:42:04 60

原创 Linux系统编程-makefile-文件IO

一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的。

2023-03-08 00:04:34 154

原创 Linux系统编程Vim-Gcc-动态库静态库

gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,因此它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。gedit是一个自由软件。这是 Linux 下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现关键字和标识符。gedit是一个Linux环境下的文本编辑器,类似windows下的写字板程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适。

2023-03-07 10:46:48 216

原创 Linux系统编程-基本命令

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。开发版:由于要试验各种解决方案,所以变化很快。,所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。OpenWRT(Linux内核 + 文件系统)

2023-03-06 15:15:53 385

原创 Unity Shader 实现鬼魂效果

我们在游戏中经常会角色碰到角色的情况,大多数游戏中角色和角色重叠的时候会显示一个虚幻的鬼影而不是完全遮挡,那么这个鬼影效果怎么实现呢?接下来我们就实现这样的一个效果。我在这里使用的是Unity2019的轻量级渲染管线(LWBP),我在Unity2019轻量级渲染管线的配置文件(LightweightRenderPipelineAsset)创建了一个前向渲染器指定给特定角色的渲染方式。如图所示。

2022-11-28 16:17:39 678

原创 Games101计算机图形学入门基础之四:Unity图形渲染管线介绍

想要在屏幕上渲染出效果惊人的画面,那就必须了解将一个3D场景渲染到2D屏幕的过程,即使是3D游戏最终也是以2D的方式呈现在玩家的眼前,而这个过程就是 渲染管线。可以将它类比成一个工厂的流水线,在工厂的流水线中,原材料经过各个环节的处理最终成为一个产品。而在渲染管线中,原材料就是3D场景的坐标和一些其他数据,然后经过一系列处理变成屏幕上的有色2D像素。图形渲染管线定义:一堆原始图形数据途经一个输送管道,期间经过各种变化处理最终出现在屏幕的过程。

2022-08-24 11:09:20 1014

原创 Unity编辑器拓展--预览窗口拓展

首先我们创建一个预制体文件夹,然后创建一个Cube做成预制体,我们可以看到这个预览窗口。

2022-08-07 19:43:31 1655 1

原创 Unity编辑器拓展--自定义Window拓展

我们在编辑器拓展的时候经常需要打开我们的自定义的窗口,那么这样一个功能应该怎么实现呢?} }(,} }false,} }3)} }(,} }false,} }2)} }} }(,} }false,} }1)} }//重写OnGUI private void OnGUI() {

2022-08-07 19:22:44 497

原创 Unity编辑器拓展--Scene视图拓展

我们新建一个脚本来控制我们的Scene视图的拓展,这里注意我们的这个脚本不需要放在我们的Editor文件夹中,然后我们添加一个预处理指令来控制这个脚本在编辑器模式下运行。//加上一个预处理指令,让他在编译器模型下运行 # if UNITY_EDITOR private void OnDrawGizmos() {//绘制一条线 Gizmos . DrawLine(transform . position , transform . position + Vector3 . up);...

2022-08-07 18:46:54 740

原创 Unity编辑器拓展--Inspector拓展

Inspector面板记录的都是我们项目中对象所有的组件信息,如果我们想在Inspector面板中的Transform中添加一个组件应该怎么实现呢?这里我们首先创建一个脚本来控制Inspector面板的拓展。

2022-08-07 17:39:58 1794

原创 Unity编辑器拓展--Hierarchy拓展

Hierarchy视图打开的选项我们发现和GameObject打开的视图是一样的,所以我们拓展Hierachy视图也是对GameObject菜单栏这一选项进行拓展,前文已经介绍过了,具体可以参考Project拓展。

2022-08-07 17:18:59 1326

原创 Unity编辑器拓展--Project拓展

我们都知道在Unity的工程中,Project里放的都是我们项目的资源。当我们鼠标点击右键的时候会弹出一个菜单:如果我们想对这些内容进行拓展里拓展应该怎么拓展呢?这里我做了一些总结。

2022-08-07 12:02:56 612

原创 Unity编辑器拓展--自定快捷键拓展

在我们制作了一些拓展菜单后,我们如何通过快捷键快速打开这些拓展菜单呢?

2022-08-07 10:59:03 812

原创 Unity编辑器拓展--Scene视图自定义拓展

``csharp{{//不能在这写,因为编辑器脚本不会执行Start函数}/// 初始化脚本的时候就会执行下面函数{//duringSceneGui里面是一个Action。我们需要传一个回调函数进去{= null){{//1代表的是鼠标的右键,EventType.MouseDown代表鼠标按下Debug.Log("鼠标右键按下");}{//0代表的是鼠标的左键Debug.Log("鼠标左键按下");}}};...

2022-08-07 10:43:01 975

原创 Unity编辑器拓展--顶部菜单栏拓展

在游戏项目开发的过程中,为了减少我们的工作量和避免重复的工作量,我们需要引入一些插件和开发一些工具来使我们的工作更加的顺利,Unity提供十分多的编辑器拓展的API使得我们能够使用我们自定义的一些功能。我们需要在我们项目的Assets目录下新建一个Editor的目录,Unity会自动认为Editor是我们编辑器的脚本。在进行打包的时候不会将这个文件夹编译进去,只有在我们编辑器模式下才会起作用。编辑器具体可以实现的拓展如下文所示:我们新建一个TestMenu脚本来控制Menu菜单栏的拓展功能。利用M

2022-08-06 11:11:50 672

原创 Unity物理引擎中的碰撞、角色控制器、Cloth组件(布料)、关节 Joint

利用碰撞体利用触发器在很多游戏引擎或工具中都有触发器,他被用来触发事件碰撞体是触发器的载体触发器只是碰撞体的一个属性如果既想要检测到物理的接触,又不想让碰撞检测影响物体的移动,或者要检测一个物体是否经过控件中的某个区域,这是就可以用到触发器例如碰撞体适合模拟汽车被撞飞、皮球掉在地上又反弹的效果,而触发器适合模拟人站在靠近门的位置时门自动打开的效果。...

2022-07-31 21:42:44 2911 2

原创 Games101计算机图形学入门基础之三:着色

所以漫反射的光照可以总结为以下一个理想公式。

2022-07-31 11:48:14 967

原创 Games101计算机图形学入门基础之二:光栅化

然后我们还需要定义什么是屏幕空间(screenspace),我们可以从下面的图中看到屏幕覆盖的范围是从(0,0)到(width,height),而像素可以用一个个的方格表示它们索引的范围是从(0,0)到(width-1,height-1),比如这个蓝色的像素就可以用(2,1)表示,并且像素(x,y)的中心在(x+0.5,y+0.5),其中x和y都是整型的。如果我们对每一个像素进行卷积操作,我们的卷积核是像素本身一样的大小,而卷积的值就是等于每个像素的覆盖面积。...

2022-07-27 12:36:00 1299

原创 Games101计算机图形学入门基础之一:向量变换、矩阵变换、视图变换、欧拉角与四元数

在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指代表向量的方向;线段长度代表向量的大小。与向量对应的量叫做数量(物理学中称标量),数量(或标量)只有大小,没有方向。印刷体记作黑体(粗体)的字母(如a、b、u、v),书写时在字母顶上加一小箭头“→”。[1]如果给定向量的起点(A)和终点(B),可将向量记作AB(并于顶上加→)。在空间直角坐标系中,也能把向量以数对形式表示,例如xOy平面中(2,3)是一向量。...

2022-07-24 21:32:58 932

原创 Unity中的GetEnumerator 方法及MoveNext、Reset方法

Unity中的GetEnumerator 方法及MoveNext、Reset方法

2022-07-18 18:05:46 1413

原创 Unity3D中的ref、out、Params三种参数的使用

Unity3D中ref、out、Params的使用

2022-06-30 15:43:05 1294

ET框架 - C#全栈式网络游戏开发框架

本课程主要介绍了在GitHub上有着极高人气的基于.Net的跨平台、开源、高性能、全栈式开发与多进程分布式部署的网络游戏开发框架 - ET框架的入门使用与原理学习(本课程使用ET框架6.0版本) 。

2024-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除