这里是黄永亮的博客

20230515LLM笔记

0.前言 先叠个盾:我AI水平有限,哪写的不对欢迎大佬指正。 1.原理 LLM是根据上文预测下一个最大可能性的token,直到语句结束或超长。常见的对话只是表现形式的一种,实际运行的原理是对文本的补全预测。 关于部分人对于模型表现出的行为产生了偏离实际的想法,需要强调现在的模型还没有记忆,时刻记得无论输出什么内容,即使行为再像一个人,它也依旧是静态的 训练数据里是把对话作为整体的,因此当你输入的内容被拼接成训练数据里的前半部分,模型就会根据输入补全后面的内容,这部分内容再以回复的形式展现到聊天框。下一句你发送 ...

20230429 IaaS之IDE,也许是下一个ChatIDE?

0.背景 继基于插件做到代码部分语义可视化、以及反向控制IDE浏览代码跳转之后,我想尝试进一步获得IDE的控制权,来完成其他想法中的数据收集和增强自动化办公的程度,小小的推进一下IaaS的进程,顺带着给AI自动化控制IDE开启一个新的道路,给AI“看”和“动”的基础能力。 这个想法启发于黄老师在Archguard中使用的createRepl方法,可以在自己的应用程序中内嵌一个jupyter的后端来完成自定义DSL的REPL(参考 https://github.com/archguard/archguard/blob/master/architecture-as-code/repl-api/src/main/kotlin/org/archguard/aaac/repl/ ...

20230423大模型上手笔记

背景 AI最近又开始火了尝试上手玩玩,我水平还停留在MNIST入门阶段,哪写的不对欢迎大佬指正。 基本概念 模型是一个或一组文件,里面存储了权值的集合,理论上就是一堆浮点数的集合。 模型的生成过程叫做训练,执行过程叫做推理。训练过程中和训练好后的模型可以持久化到硬盘中,结合结构信息可以反向序列化加载到硬件中。 默认的浮点数精度一般是32bit浮点(32fp,32bit,4byte),  半精度.half()就是16bit(16fp,16bit,2byte) 量化说的是把浮点数据继续缩减空间,4bit定点(int4,0.5byte),8bit定点(int8,1byte) 文本是可以转换成高维向量 ...

20230407kubekey搭建k8s

视频版 https://www.bilibili.com/video/BV1gL411Y75L   背景 20230204尝试搭建k8s青春版 上次尝试了k3s,本来计划是尝试原版k8s,但看了下文档感觉略麻烦,我决定放弃。。。。 按上次eric的建议这次尝试玩下kubekey 安装准备 环境要求 Ubuntu 16.04,18.04,20.04CPU:2 核,内存:4 G,硬盘:40 G 机器节点2c4g * 3 所有节点必须都能通过 SSH 访问。 所有节点时间同步。 所有节点都应使用 sudo/curl/openssl/tar 域名分配 k8s1.k8s.local k8s2.k8s.local k8s3.k8s.local kubesphere.k8s.local 生成config ...

20230311neo4j测试

0.背景 因json文件、mysql、mongo存储都不能方便的满足我的要求,计划后续使用图数据库来存储复杂的的图状关系 1.安装 看了一眼dockerhub有现成的镜像,直接选了最新的 Shell docker run -d \ --publish=7474:7474 --publish=7687:7687 \ --volume=/data/neo4j/data:/data \ neo4j:5.5.0-community 01234  docker run -d \    --publish=7474:7474 --publish=7687:7687 \    --volume=/data/neo4j/data:/d ...

20230203IDEA插件开发-Action的实现

背景 开发的插件点击后UI卡住,怀疑是阻塞了UI线程。。。。仔细看下文档 文档翻译-Action的实现 自定义的action类是派生自抽象类 AnAction的子类。当用户操作菜单项或工具栏按钮时,IDEA会调用action的方法 基于 AnAction 的类不能包含任何属性,因为 AnAction 的实例会存在 application整个生命周期。如果 AnAction 类使用了属性存储了短声明周期的数据但没有合理的清除,会造成内存泄漏。例如如果你把Project对象存到了这里,当用户关闭了这个Project之后就会发生内存泄漏 方法Override覆盖原则 每个action可以覆盖 AnAction.update ...

20230224dev-assistant idea plugin开发

既然ChatGPT能理解自然语言,为什么不让它来帮我写代码完成这个开发任务呢? 基于这个猜想,我尝试让它编写IDEA插件逻辑,以一个LOGGER插入为例。 我给的命令是 “ 利用IntelliJ Platform Plugin SDK获取当前光标所在类的成员变量,检测是否存在LOGGER,如果不存在,在类声明的第一行插入LOGGER的声明,并import对应的slf4j依赖。用java实现 ” 它给出的代码如下 Java import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.in ...