自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢白羽

C/C++后端开发,目前从事游戏后端开发,数据转移存储等方面

  • 博客(406)
  • 收藏
  • 关注

原创 协程的学习二:C风格写的协程(以云凤协程为例),顺便记录ucontex使用

文章目录一、测试代码讲解1)main函数主流程2)main测试代码示例二、协程头文件coroutine.h1)代码作用讲解①协程执行函数②创建协程调度器③关闭协程调度器④创建协程⑤协程堆栈恢复⑥判断协程yield出去后是否准备resume回来⑦coroutine_running(struct schedule *)不知道什么作用⑧协程让出CPU占用(yield)2)代码实体三、协程函数实现文件coroutine.c0)备注背景知识1)错误码及结构体①struct args②struct coroutine③

2021-11-20 20:50:56 1430

原创 C/C++遇到的坑(持续更新,每日更新两篇,11/24)

文章目录1.基础问题1.1 运算符优先级2.编译问题3.库函数问题4.文件处理问题5.类和对象问题6.内存使用问题7.多线程问题8.性能问题9.其他问题9.1 中文截断成乱码问题摘录自《从缺陷中学习C/C++》1.基础问题1.1 运算符优先级//to get 2*n+1int func(int n){ return n<<1 + 1;}后果上述代码中的函数func本意是期望计算2n+1,但程序实际运行结果是4n。分析这段代码使用左移1位来代替乘以2的运

2021-09-09 01:07:42 423

原创 lua的坑(持续更新,每日更新两篇,9/15),更新到17个

1.把数值转成16进制的格式2.去掉商里的小数3.string.format()保留三位小数4.向上/下取整,四舍五入5.string字符串拆成表6.敏感词过滤7.同名传参/同名字段相关bug1)2个同名传参, 第1个传参无效2)2个同名字段, 第2个字段无效8.表作为传参: 浅拷贝的相关bug1)表作为参数传递时, 是浅拷贝,原表也会改变2)但是, 改变arg表自身, tab不变9.windwos安装lua10.通配符,正则表达式11.用正则实现trim()12.字符串截取s

2021-08-27 00:54:53 589

原创 大模型额外篇章二:基于chalm3或Llama2-7b训练酒店助手模型

一、代码部分讲解二、实际部署步骤(CHALM3训练步骤)1)注册AutoDL官网实名认证2)花费额度挑选GPU3)准备实验环境4)开始执行脚本5)从浏览器访问6)可以开始提问7)开始微调模型8)测试训练后的模型三、基于Llama2-7b的训练四、额外补充1)修改参数后2)如果需要访问科学的彼岸

2024-05-27 02:33:21 1041

原创 大模型额外篇章一:用huggingface的电影评论数据集情感分类训练模型

工具:huggingface目的:情感分类输入:电影评论输出:标签 [‘neg’,‘pos’]或。

2024-05-22 16:26:21 373

转载 已解决HINT: This error might have occurred since this system does not have Windows Long Path support en

错误2解决方法:从 Windows 10 版本 1607 开始,MAX_PATH限制已从常见的 Win32 文件和目录函数中删除,因此需要启用长路径。②错误2:从 Windows 10 版本 1607 开始,MAX_PATH限制已从常见的 Win32 文件和目录函数中删除,因此需要启用长路径。(3)在“值”数据字段中,输入值1。(1)win+r打开运行界面,键入REGEDIT。①错误1:这是因为你的user文件夹权限不够,(2)修改权限然后应用后点确定。(3)然后依次点击确定。

2024-05-22 13:36:49 170

原创 大模型学习笔记十:多模态大模型

一、多模态大预言模型(MLLM)的定义二、(图-文)多模态模型的发展历程三、GPT4v以及Gemini-Pro实战四、图文对话系统的搭建五、Beyond VL:支持多模态输入的大预言模型六、使用多模态大预言模型完成更多任务

2024-05-15 13:53:53 113

原创 大模型学习笔记九:模型微调

一、什么时候需要Fine-Tuning二、用Hugging Face根据电影评论输出来对电影进行情感分类1)安装依赖2)操作流程3)名字解释4)代码导入库和加载模型、加载数据库、加载tokenlizer5)其他相关公共变量赋值(随机种子、标签集评价、标签转token_Id)6)处理数据集:转成模型接受的输入格式7)定义数据规整器:训练时自动将数据拆分成Batch8)定义训练超参:比如学习率9)定义训练器10)# 开始训练11)加载训练后的模型进行推理(参考)三、训练集和验证集的关系

2024-05-15 13:52:12 167

原创 大模型学习笔记八:手撕AutoGPT

③开始主循环推理,若输出结果为FINISH就break,否则就执行选择出来的action,并更新短识记忆。①初始化常识和短识的记忆(短识记忆初始化为空,常识是连接向量数据库)④若大于最大思考步数,则输出未能完成任务。

2024-04-03 19:00:56 673

原创 大模型学习笔记七:LLM应用

1)管理一个 LLM 应用的全生命周期,需要用到以下工具:1、调试 Prompt 的 Playground2、测试/验证系统的相关指标3、数据集管理4、各种指标监控与统计:访问量、响应时长、Token费等等2)根据自己的技术栈,选择:1、LangFuse:开源平台,支持 LangChain 和原生 OpenAI API2、LangSmith: LangChain 的原始管理平台3、Prompt Flow:开源平台,支持 Semantic Kernel。

2024-03-20 18:53:19 1085

原创 AI大模型额外学习一:斯坦福AI西部世界小镇笔记(包括部署和源码分析)

①背景介绍②总体逻辑让小镇的NPC自由交流、开party、生活有条不紊③总结:Ai会感知周边环境,并将视野里发生的事件记录下来,加入自己的记忆流。之后,不论是Ai计划要做的事,还是对外界的反应,都会受到这个记忆的影响,并依靠ChatGPT进行决策,最后决策的事件也会加入记忆流,形成新的记忆。让NPC具备记忆系统,并依靠大语言模型来帮助NPC做出行动决策①项目有后端服务器backend_server和前端服务器frontend_server②storage会保存程序运行的记录信息。

2024-03-15 19:15:57 1619 2

原创 大模型学习笔记六:Semantic Kernel

定义介绍1、Semantic Kernel 是微软研发的一个开源的,面向大模型的开发框架(SDK);2、它支持你用不同开发语言(C#/Python/Java)基于 OpenAI API/Azure OpenAI API/Huggingface 开发大模型应用;3、它封装了一系列开箱即用的工具,包括:提示词模板、链式调用、规划能力等。SDK(补充说明)SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。

2024-03-12 19:59:26 1278

原创 大模型学习笔记五:RAG

1、LLM 的知识不是实时的2、LLM 可能不知道你私有的领域/业务知识搭建过程:1、文档加载,并按一定条件切割成片段2、将切割的文本片段灌入检索引擎3、封装检索接口4、构建调用流程:Query -> 检索 -> Prompt -> LLM -> 回复1、文档加载2、文档切分3、向量化4、灌入向量数据库。

2024-03-04 18:27:17 1096

原创 大模型学习笔记四:LangChain开发框架解析

1、模型I/O封装LLMs:大语言模型Chat Models:一般基于LLMs,但按对话结构重新封装PromptTemple:提示词模板OutputParser:解析输出2、数据连接封装Document Loaders:各种格式文件的加载器Document transformers:对文档的常用操作,如:split,filter,translate,extract metadata,etcTextr Embedding Models:文本向量化表示,用于检索等操作。

2024-02-23 03:15:31 1039

原创 大模型学习笔记三:Function Calling

官方文档:https://www.xfyun.cn/doc/spark/Web.html#_2-function-call%E8%AF%B4%E6%98%8E。1、只有 gpt-3.5-turbo-1106 和 gpt-4-1106-preview 可用本次课介绍的方法。2、gpt-3.5-turbo 是 gpt-3.5-turbo-1106 的别名。3、gpt-4 和 gpt-4-1106-preview 是两个不同的模型。3、延迟非常高(至少两次GPT-4生成,和一次Web API调用)

2024-02-22 14:25:02 3192 2

原创 大模型学习笔记二:prompt工程

OpenAI GPT 对 Markdown 格式友好。③纯OpenAI让系统简单好维护。Claude 对 XML 友好。②减少prompt能更加省钱。①自制代码能让问答更加可控。OpenAI 官方出了。教程,并提供了一些示例。

2024-02-09 20:48:44 1322

原创 大模型学习笔记一:大模型应开发基础(模型归类选型、安全因素选型、)

1)产品和大模型的区别(产品通过调用大模型来具备的能力)2)AGI定义概念:一切问题可以用AI解决3)大模型通俗原理根据上文,猜测下一个词4)大模型测试代码prompt = "今天我很"# prompt = "下班了,今天我很"# prompt = "放学了,今天我很"# prompt = "AGI 实现了,今天我很"

2024-01-25 20:10:29 528

原创 大模型面试题总结

一、大模型(LLMs)基础面二、大模型(LLMs)进阶面三、大模型(LLMs)微调面四、大模型(LLMs)langchain面1. 基于LLM+向量库的文档对话 基础面2. 基于LLM+向量库的文档对话 优化面3. LangChain的概念面试问题4.LangChain的一些模块提问5.LangChain的业务提问6.LangChain的问题解决五、LoRA、QLoRA、AdaLoRA篇六、Fine tune1)基础概念2)为什么需要 P-tuning v2?3)为什么需要 P-

2024-01-24 15:51:27 1238

原创 AI大模型预先学习笔记三:使用Assistants API快速搭建领域专属AI助手

介绍OpenAI的第一手发布者API文档,也就是相当于GPT的API①基本对话能力②手机电脑双端适配③随意选择风格④Retrieval 获取外部数据的能力,从文档获得的信息⑤Function call 可以调用外部函数的能力(注册给这个demo)

2024-01-16 12:51:33 982

原创 AI大模型预先学习笔记二:prompt提问大模型、langchain使用大模型框架、fine tune微调大模型

一、Prompt Engineering1)环境准备2)交互代码的参数备注3)交互代码二、LangChain(一个框架名字)1)LangChain核心介绍:I/O模块、数据链接模块、2)I/O模块(Prompts、Language models、Output parsers)3)数据链接模块(Data connection)三、Fine-tuning(微调)

2024-01-14 21:16:48 878

原创 AI大模型预先学习笔记一:transformer和fine tune技术介绍

2)positionnal Encoding:不仅要把每个字换成512个描述,而是还要关注每个字的位置(也就是关注词的主谓宾)①下面每个步骤都是自回归的过程(aotu-regressive):已输出内容的每个字作为输入,一起生成下一个字。(z序列是:z1、z2、z3、z4等,不一定必须是512维),每个z是512维坐标的向量,由512个坐标构成。②合起来就是:y1输出之后,y1和x序列一起作为输出,来生成y2;②再把这串x序列的输入字符串映射成z序列。①把一串输入的字符串拆分成x序列的结构。

2024-01-14 03:53:16 677

原创 大模型在游戏行业的应用分析

基于此,Deepmind 的 MARL 团队期望在大规模的智能体中,可以涌现出合作、对抗、交易等人类社会的行为。国内在策略生成领域,已知的有脱胎于王者荣耀绝悟团队,致力于打造有生命的 AI 的超参数科技,和探索如何在多智能体和多目标的场景下,使不同的智能体之间的行为模式能够互相协调和连接,产生出合理且有意义的故事情节和体验的 Rct AI 等。产品上,网易“逆水寒游戏 GPT”加持的高智能 AINPC 已发布内测,超参数科技“AI 社会”《活的长安城》发布了自己 Demo。例如 5 月米哈游新作。

2024-01-12 21:13:29 1558 3

原创 魔兽3.3.5仇恨列表模块解析

这段代码用于检查生物身上是否存在特定的光环效果。如果 aura 变量为正值,则要求目标生物必须拥有具有相同 ID 的光环效果;如果为负值,则要求目标生物必须没有具有相同 ID 的光环效果。这样的设计可用于执行与特定光环效果相关的条件检查。③SelectTargetMethod : 选择目标的类型-例如最大仇恨往下递减找目标。④offset:点名往后偏移几位-例如点最大仇恨,往下偏移。①targetList:传出参数-获取的目标列表。⑦withTank:是否包含第一仇恨。MaxDistance 最大距离。

2024-01-08 12:03:20 643

原创 魔兽3.3.5版本AI模块代码拆分解析(魔兽3.3.5模块是状态机)

文章目录

2024-01-03 14:10:34 610

原创 魔兽3.3.5版本背包模块代码拆分解析(从之前的文章中拆分出来)

一、涉及到的文件二、先看成员变量(单个背包的存储数据)三、再看玩家背包和DB的交互1)逐行解析db表2)sql语句变更记录(记录一些sql语句对数据存储的影响)3)额外提一嘴物品在mysql的存储4)预编译背包的物品和db交互的sql语句四、解析成员函数1)构造函数2)析构函数3)实体添加到世界4)背包添加物品5)获得对应id的物品数量6)根据物品标签获得对应物品数量7)根据物品id获取对应背包内物品的槽位五、代码

2024-01-02 14:48:40 603

原创 UE-近战战斗系统学习笔记一

本项目用UE的5.1版本制作选择第三人称视角游戏,并输入项目名字创建本次项目不打算用UE自带的角色character,而是下载paragon但是由于这个仅仅支持在4.19到5.0版本的UE,所以需要从旧版本的UE迁移。

2023-12-21 01:33:44 466

原创 PHP学习笔记

但是如果php --ri swoole或php -m看不到swoole,可能是php.ini没配置上(可能安装了多个PHP)①echo默认输出到stdout,打印到页面上就是得response->end。使用FastCGI启动php-fpm这种形式,绑定9000端口。②编译安装到系统后,需要在php配置文件php.ini添加。①需要提前下载phpiz 5.0.3版本,安装phpiz。③不同进程不会共享全局变量,就是被global修饰的变量。用php --ri swoole查看扩展情况。

2023-12-14 10:07:18 152

转载 ubuntu 22.04 iptables 运行失败解决方法

ubuntu 22.04默认使用nftables作为防火墙,而非iptables。

2023-12-13 16:01:51 1031

原创 skynet学习笔记(12/05未完待续)

(数量可配置),它们不断的从主消息列队中取出一个次级消息队列来,再从次级队列中取去一条消息,调用对应的服务的 callback 函数进行出来。为了调用公平,一次仅处理一条消息,而不是耗净所有消息(虽然那样的局部效率更高,因为减少了查询服务实体的次数,以及主消息队列进出的次数),这样可以保证没有服务会被饿死。③一个服务是用skynet_context作为服务的实例,一个唯一的handle的id作为唯一id识别服务(id即使在集群里面也是唯一)大到小:集群->skynet节点->服务。不为空的次级消息队列。

2023-12-05 15:40:26 153

原创 魔兽服务器学习-笔记(服务器部署、地图管理、DB、日志模块、任务模块、战斗模块)

2》由mmaps_generator生成可移动地图信息 .mmap,游戏中的地图移动数据(用来给navmesh寻路),也就是用recast和detour生成寻路信息。《4》vmap4assembler合并vmapsextractor和mmaps_generator生成的地图信息,vmtile信息。《3》vmapsextractor生成地图元素信息(可视场景信息:山脉、水体、建筑物等静态场景信息),用于未来做。2)功能:视野、数据同步、碰撞检测、寻路算法。1)AOI:管理地图地理信息、地图对象信息。

2023-11-09 15:21:32 1146 5

原创 用rust写web服务器笔记(11/1)

①创建一个简单的main.html。1)404Erorr界面的html。2)返回一个真正的网页。

2023-11-01 13:29:04 535

原创 rust代码学习笔记(未完待续11/1)

二、案例二:(引入新包)猜数字游戏①引入随机数包②引入随机库③源码三、案例三:循环猜测数字四、案例四:猜字游戏(彩色版本)五、rust一些注意事项1)声明变量默认是不可修改的解决方法:(加mut关键词)3)标量(scalar)和复合类型(compound)数据类型①整数类型debug超出正常范围就会panicked,release模式下会超过最大值得数转回最小值②字符类型③浮点数④复合类型tuple取元素方式:(tuple元素从0开始,如下所示)①解构②点

2023-10-31 03:01:36 154

原创 C++思考和一些代码规范(10/11)

④用仿函数进一步优化(改变:传入的函数参数为不同值,之前无论是模板还是函数指针都是写死的)③函数模板进一步优化(改变:传入的函数参数为不同类型)⑤仿函数代码难以阅读,可以用lambda表达式改造下。②加入函数指针的优化(改变:传入不同的函数)

2023-09-28 02:16:47 433

原创 设计模式的一些笔记(个人见解参杂各个模式的用途,未完待续10/16)

比如游戏里面任何一个obj都是一个实体Entity,这个Entity就是父类,子类就是怪物Monster、玩家Player、NPC、静态物品Doodad。

2023-09-07 18:42:25 555

原创 游戏思考30(补充版):关于逆水寒铁牢关副本、白石副本和技能的一些注释(2023/0902)

作用:启动定时器,有一个虚拟的风根据定时器触发前进,路径上如果有玩家则会携带玩家一起位移,定时器触发时候玩家一起移动,客户端做移动补偿。③周冷龙会给玩家上禁疗buff,奶妈给有buff的玩家回不上血(如下图所示,奶妈开场不用奶)原理:服务器先向客户端发送消息包体,坐标和三个反向,客户端根据消息展示红框。原理:服务器先向客户端发送消息包体,坐标和直径,客户端根据消息展示圆形红框。①boss向一仇定时器定时冲撞,主T获得伤害和击倒效果,其他只有击倒效果。应对:玩家开解控,获得霸体效果,不会跟着风移动。

2023-09-02 03:57:08 826

原创 UE蓝图基础学习笔记(未完待续2023/05/22)

整体界面区别①视图面板:用于设计关卡,可以在视图面板摆放、移动、旋转游戏对象,为了便于设计,占了引擎的大部区域②大纲面板:以名字显示视图区的游戏对象③细节面板:用于显示当前选中的对象的详细信息④内容侧滑菜单:为UE4的内容浏览器,用于显示当前项目中的内容(资源、蓝图、材质等),默认为隐藏状态,可通过快捷键:CTRL+空格建显示。

2023-05-03 23:46:24 1500 2

原创 Mysql 45讲和45问笔记(未完待续0203/05/08)

可以看到右边的数据结构里面,是按照k-v来存数据结构的,key是col2的字段,这个value对应的是这个节点对应数据在磁盘中的地址。所以是帮助Mysql高效获取数据的。

2023-04-23 13:31:57 223

原创 记录一次curl的使用报错:使用PUT的设置错误

因此,如果您要使用libcurl库发送PUT请求,请使用curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, “PUT”)。①curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, “PUT”)设置libcurl库发送HTTP请求的自定义方法为PUT。②而curl_easy_setopt(curl, CURLOPT_PUT, true)是错误的,因为CURLOPT_PUT选项不是用于设置HTTP请求方法的选项。

2023-04-17 16:56:22 518

原创 《Effective Modern C++》阅读笔记 (03/29)

另外一个注意的点:容器元素在push_back的时候,优先利用移动构造函数,但是这个函数需要加上noexcept,否则发生异常数据会丢失。noexcept会做出很大优化(编译器在抛出异常时候要保证栈上元素顺序析构,不保证析构顺序会有很大优化)但是如果用效率低的拷贝构造函数,那么数据不会全丢失。C++98和C++11不会抛出异常的写法。③常数值传递,不是指针或引用。

2023-03-29 02:10:00 105

原创 游戏思考25:behaviorTree源码剖析行为树(3.8版本,2023-11-22)

行为树节点分类1)序列Sequence节点:顺序执行所有子节点,若都成功则返回成功,若有一个失败则返回失败2)循环Loop节点循环执行子节点到指定次数后返回成功,如果循环次数为"-1",则无限循环3)条件Condition节点根据条件的比较结果,返回成功或失败4)动作Action节点根据动作结果返回”成功“、”失败“或”运行“5)等待Wait节点返回"运行",一直到指定的时间过去后返回”成功"

2023-03-25 02:58:59 767

空空如也

空空如也

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

TA关注的人

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