Posts
All the articles I've posted.
-
深入浅出GraphRag[2]检索生成
技术笔记前言 在上篇文章《深入浅出GraphRag 知识图谱生成》中,我分析了GraphRag的图谱生成过程,那么生成的这些图谱数据是如何应用到生成里面的?这篇文章会给出答案。注意本篇文章中提到的很多概念依赖上篇文章的内容,建议先读一下《深入浅出GraphRag 知识图谱生成》。 GraphRag的检索生成...
-
深入浅出GraphRag[1]知识图谱生成
技术笔记前言 GraphRAG 是微软开源的一个基于大模型+知识图谱回答用户问题的开源项目。相同传统的RAG,它的创新点主要有两个: 1. 提出了一套完整的利用大模型生成知识图谱的方案。 2. 基于map reduce的思路支持对数据集全局类型的问答。 简单来说,GraphRAG 工作流程主要分为两步: 1...
-
ChatGPT文本生成的工程原理分析与代码示例
技术笔记之前ChatGPT刚出来的时候大家都在研究GPT模型,有很多的科普文章都说GPT模型其实就是在做文字接龙,根据前面的文本预测下一个字。这样通俗的理解确实没有什么问题,但是作为程序员我们肯定不能满足于这么表面的理解。本文主要就是要从工程角度对大模型的文本生成过程的原理结合代码进行分析。值得注意的是本文...
-
机器学习基础之梯度计算:Pytorch代码与公式
技术笔记我们看教科书里面讲批量梯度下降的算法数学公式都是类似这样的: (w,b)←(w,b)−η|B|∑i∈B∂(w,b)l(i)(w,b).(\\mathbf{w},b) \\leftarrow (\\mathbf{w},b) \\frac{\\eta}{|\\mathcal{B}|} \\sum\ {i...
-
ChatGPT之GPTs的使用与分析:5分钟构建一个天气画报
技术笔记在GPTs推出之后,我用它花了5分钟就配置了一个生成天气画报的GPTs,目前看GPTs在提升AI应用研发效率上面还是做的非常好的,但并没有超出期望,它只是一种研发范式的创新,并没有带来质的变化:以前Langchain+GPT4做不到的事情,现在也做不到。 在这个功能出来之后,有人就说这个功能干死了一...
-
统计学与机器学习交汇点:线性回归的数学基础
技术笔记本文详细解析了线性回归的数学含义,包括“线性”和“回归”两个核心概念。线性主要涉及可加性和齐次性,这两个性质在数学、统计学乃至软件工程等多个领域都有广泛应用。回归则是一种预测数值型输出(因变量)的方法,基于一个或多个输入(自变量)。线性回归结合了这两个概念,通过找到最佳拟合直线来进行预测。该模型具有...
-
ChatGLM3 的代码解释器(Code Interpreter)实现原理
技术笔记原理简介 在之前的文章《ChatGLM3 的工具调用(FunctionCalling)实现原理》里面,我们介绍了ChatGLM3工具调用的原理,其本质就是让大模型通过微调学会根据prompt中的函数的定义学会下一步应该调用哪个函数,然后我们解析大模型预测的文本结果去执行对应的函数,最后再把执行的结果...
-
ChatGLM3 的工具调用(FunctionCalling)实现原理
技术笔记ChatGLM3终于带来了跟ChatGPT一样的工具调用能力,通过它的源码和样本数据,我们可以了解到让大模型学会使用工具的方法原理。 官方例子中的疑问 我们先跟着官方例子的步骤一步步走。 构建 System Prompt 这里以两个工具调用为例,首先准备好要构建的数据的描述信息。其实就是定义好我们能...
-
从零开始写数据库:500行代码实现 LSM 数据库
技术笔记前言 LSM Tree 是很多 NoSQL 数据库引擎的底层实现,例如 LevelDB,Hbase 等。本文基于《数据密集型应用系统设计》中对 LSM Tree 数据库的设计思路,结合代码实现完整地阐述了一个迷你数据库,核心代码 500 行左右,通过理论结合实践来更好地理解数据库的原理。 SSTab...
-
SQL查询引擎原理浅析
技术笔记SQL的诞生 SQL英文全称是Structured Query Language,中文名即结构化查询语言,是一门专门用来查询数据的声明式编程语言。 我先解释一下声明式语言的概念,编程语言有两个分类: 命令式:手把手教机器做事情 声明式:告诉机器任务,让它自己想办法解决 举个例子,假设你家里有机器人,...