RAG

如何搭建一套Agent系统

Key Takeaway

  • Agent是AI智能体的核心,用于自动化执行任务,其搭建关键在于明确需求和工作流设计。
  • Multi-Agent System通过角色分工协作,解决复杂任务,例如Researcher、Editor和Note Taker的组合。
  • Agent除了大模型作为“大脑”,还需要工具作为“手脚”,如搜索工具(Tavily)和笔记工具(Obsidian)。
  • 搭建Agent系统需要Python脚本,即使编程能力不高,也能通过现有脚本进行修改和拼装。
  • RAG和Agent是AI原生应用的关键技术,理解并实践它们能提升AI使用效率。

Full Content

我对自己的笔记系统做了一点小升级。

之前的系统只是“离线版”,只能根据已有的内容去生成新内容。

升级之后的系统就是“联机版”:增加了AI搜索、报告生成的功能。而且,全都搞定之后,还会自动生成一条笔记,省得我还要手动贴进Obsidian。

这些功能的背后,是Agent / AI智能体的能力。

我在上期视频介绍了Agent的基本概念。有些小伙伴说,想看看具体的案例。所以这期也算是一个简单的演示,让你知道Agent是怎么搭建的、怎么工作的。

现在虽然有不少工具,比如difi.ai之类的,能让你点几下鼠标就完成搭建。但是,要完全实现自己的需求,完全按照自己的心意来,还是得靠代码。

不过也不用担心,一是网上有很多现成的Python脚本,你稍微改一改、拼装一下,完全可以用;二是它也不要求你有多高的编程能力,看得懂就行。甚至你把它当成英语四级的阅读理解都OK。像我这种小学生水平都能上手,你肯定没问题。

OK,咱们进入正题。

Agent是用来干活儿的。所以,一切的出发点肯定是需求,越明确越好。

我的需求很简单,来自于我日常经常遇到的情况:

当我在Obsidian里整理笔记或者写东西的时候,经常会需要去查点资料。搜到好多个网页之后,我需要创建一条新笔记,把里边有用的内容提取出来,规整一下,变成一个比较有逻辑的东西,存在笔记里边,方便下一步处理。

这些繁琐的、技术含量不高的工作,我希望能交给几个Agent合作完成。

就像我在知识星球newtype里说的,搭建一套Multi-Agent System,最重要的是,你想让它怎么做。

所以,为了满足这个需求,需要三个角色,分别完成三个任务:

Researcher:负责上网查资料,然后把找到的内容汇总成一份报告。 Editor:它的内容能力强、文笔好,负责根据Researcher提供的报告,撰写一篇笔记。 Note Taker:它的任务很简单,就是在Obsidian里创建一条新笔记,然后把Editor写好的东西贴进去。

这是一个非常简单的分工,很好理解。难点在于给Agent配什么工具。

你可以把大模型看作是一个单独的大脑,就像科幻电影里的那种。它只有“思考”能力,没有行为能力。所以,Agent除了装上大模型这个大脑之外,还得拿上工具——咱不能人家不能空手去干,对吧?

根据分工内容,Agent需要用到两个工具:

搜索工具:有了这个,Agent才能联网搜索。 笔记工具:Agent需要知道,笔记放在哪个位置,什么格式,以及新笔记的标题该叫啥。

关于搜索工具,今天已经有很多现成的了。比如Google、DuckduckGO,都可以直接用。我这边选择的是Tavily。他们提供的搜索API,专门为大模型和RAG优化过,效果挺好的。直接加两行代码就可以用。

关于笔记工具,这边需要动点脑子,因为Obsidian并没有提供一个接口让其它程序能够接入去创建笔记。不过,解法还是有的:

Obsidian的所有笔记都是md格式的。那么,咱们就直接在笔记所在的文件夹创建一个md格式的文件。也就是说,通过在外部创建笔记的方式,绕开在软件内创建的这一步。

所以,基于这个解法,就有了CustomTools这几行代码,指明了笔记文件夹的位置,以及文件名的规则——按照笔记创建的时间来命名。

当把这些组合在一起之后,就形成了这样一份脚本,包含这几部分:

基础设置,包括API Key是什么,具体的模型用哪个,以及工具的设置。 刚才介绍过的那三个Agent,它们分别负责干什么,以及允许它们使用什么工具。 分几个子任务完成,以及每一个子任务都由哪些Agent参与。

当把这些拼装完毕之后,运行脚本,等个十几秒,任务就完成了。

以后每次使用,我只需要把这一行修改了,也就是告诉Agent,让它帮我搜什么。

其实我也可以用Gradio添加一个可视化的界面。不过我自己使用就不讲究那么多了。

按照同样的逻辑,我们可以对这个脚本做一些修改。比如,输入一个公众号文章的链接,让Agent读取它,然后把内容全扒下来,做提炼和总结,最后存进笔记里,都可以。

我这边介绍的都是最简单的Workflow,主要是想让大家有个概念。真要是搞大一些的项目,整套系统设计会麻烦得多,会用到更多的工具和大模型,Agent之间以及Agent和用户之间的协作也会复杂起来。

OK以上就是本期内容。希望通过这期和上一期视频,大家能对Agent有一个基本的认知。还是那句话:RAG和Agent是用好AI的关键。大家有什么问题就来知识星球newtype找我。咱们下期见!

我的AI笔记系统

Key Takeaway

  • 作者的AI笔记系统分为外部信息处理(Anything LLM)和笔记内容生成(Obsidian)两部分。
  • Anything LLM支持多种大模型和向量数据库,能处理PDF和公众号文章,用于资料消化和存储。
  • Obsidian是作者的终极笔记选择,因其速度快、数据本地化和丰富的AI插件(如Copilot)。
  • 笔记系统通过Anything LLM过滤外部信息,将有价值部分转化为Obsidian笔记,再利用AI辅助内容生成。
  • 笔记分类采用PROJECTS、AREAS、FLEETING、PERMANENT四种类别,以实现条理化管理。
  • 强调工具是次要的,核心在于明确需求和逻辑,通过流程和工具构建系统。

Full Content

最近,我对我的笔记系统做了一次大升级,加上了大模型驱动的知识库,并且对整体的逻辑做了大调整。

我在这边分享一下思路和具体做法。大家可以先抄作业,然后边用边改。

整套系统分成两个部分:

第一个部分是外部信息的处理。

每天我们会看到大量的内容,有PDF格式的论文和研报,有网页形式的文章,等等。我们做的笔记,都是从这些外部信息的阅读、消化开始的。

那么,这么多的资料,怎么消化、存储、检索?这是这个环节的难点,也是AI发挥最大作用的地方。

第二个部分是笔记内容的生成。

这部分的核心问题有两个:

1、用什么样的逻辑做分类是最合理的。我之前就很烦,要么是分类太泛了,显得没啥意义;要么是突然有条新笔记,却发现哪都放不进去,就很无语。

2、用什么软件最合适。要快,要隐私安全,还要有AI功能作为辅助。

先说第一部分,对外部信息的处理,我用的工具是Anything LLM。

我在视频里、在知识星球里推荐过好多款这类型的工具。综合用下来,Anything LLM是最符合我需求的。两个原因:

第一,它可以接入市面上主流的大模型、嵌入模型和向量数据库。

比如,闭源大模型方面,御三家——OpenAI、Anthropic、Google,你填入API Key就可以使用。

开源大模型方面,Ollama和LM Studio它都支持。你把链接和端口填进去就搞定了。

在最近更新的版本里,Anything LLM把Ollama也集成进来了。它提供了一系列模型,比如我最常用的Mistral 7B,通过软件直接下载就可以用了。

有些模型实在太大了,本地肯定跑不了,那就花点钱、跑在云端,然后接到本地来用。

那么,要这么多种接入手段,有什么用呢?

我平时主要用两台电脑:

在家的时候,用台式机,也就是之前介绍过配置的那台PC,性能还OK,跑本地大模型没问题。

出门的时候,带的是Macbook Pro。这机子已经非常老了,是2017年买的,现在跑个大模型是没戏,所以只能通过API调用OpenAI的模型。

除了可以根据不同配置的电脑选用不同大模型之外,Anything LLM还支持让不同的Workspace用不同的模型。比如,有的Workspace对应的资料全是英文的,那我用Mistral就好;有的如果是中英文都有,那我用qwen-1.5。

第二,它除了支持PDF之类的文档,还能把公众号文章的内容扒下来。

我平时接收到的中文信息,有很大一部分来自公众号文章。

腾讯应该是有反扒的手段。我试过很多同类型的产品,不是谁都能通过链接把公众号文章内容给扒下来的。

这就是我对外部信息的处理方法。把AI知识库用来存储资料,帮我快速消化资料。之后需要找什么的时候,还能快速搜索。这个环节处理得好的话,其实后边的笔记环节就很好搞了。

我算是笔记应用的老用户了。从Evernote开始,得有十年了吧。这么多产品用下来,我目前的终极选择是:Obsidian。

我知道,肯定会有人问,为啥不用现在超火的Notion?两个原因。

第一,太慢了。

在Notion里,很多操作都会有那么一点点的loading时间,这是我接受不了的。我觉得,笔记应用就该像实体的笔记本一样,打开就能看,翻到哪是哪。

Obsidian就没有这种问题,特别丝滑。

第二,数据放在别人家。

在前边的外部信息处理上,我没有选择本地数据库是以为,那些文档、网页全是公开信息,没有任何隐私安全问题,所以放到云端数据库我无所谓。

但是笔记不一样。这是真正的隐私数据,我绝对不会把它放到别人家的数据库去。这是要积累很多年的。万一哪天Notion出点事儿,那就麻烦了。

Obsidian里的每一条笔记,都是一个md格式的文件,存在本地。你愿意的话,可以随时把它们拷到别的地方去。

至于Notion的AI能力,Obsidian也有。这款软件支持社区插件,可以在核心之上添加各种功能,其中就包括调用大模型。

Copilot这个插件特别好用。你可以用OpenAI、Google之类的闭源大模型,也可以连接Ollama、LM Studio去使用开源大模型。

更厉害的一点是,它还自带RAG能力,能把你的所有笔记变成一个知识库。比如我问AI一个问题,AI会参考我所有的笔记给出回答,并且回答末尾还有来源。点击就能跳转到对应的笔记。

这样一来,一个梯队就形成了:

首先,我把所有外部信息都存进Anything LLM,在AI的帮助下去消化和整理。

提升AI知识库效果,从PDF转Markdown开始

Key Takeaway

  • PDF格式的复杂性(结构、编码、信息丢失)导致AI知识库在处理PDF时精确度不足。
  • 提升AI知识库效果的关键是先将PDF转换为Markdown等方便大模型提取文本的格式。
  • Mathpix是一款便捷的PDF转Markdown工具,支持PDF和图片上传,可导出多种格式,并能OCR识别LaTeX公式。
  • Marker是另一个开源的PDF转Markdown项目,支持多语种、公式转换和图片提取,可本地部署。
  • 文章强调了原始数据处理对RAG效果的重要性,并推荐了两种PDF转Markdown的工具。

Full Content

经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢?

比如最常见的PDF格式,我们阅读起来是没啥难度,但大模型要提取文本就遭罪了。

第一,PDF的结构很复杂,有文本、有图像、有表格,还有字体和布局信息。大模型很难理清楚这些结构,自然也就不好从中提取出文本来。

第二,不同PDF可能使用不同的字符编码,这会导致文本解析错误。

第三,即使成功提取出文本,也可能丢失段落、标题这些很重要的信息,造成对内容的理解出现差错。

所以,要提升AI知识库的效果,先把PDF转换成方便大模型提取文本的格式。本期视频我介绍两个工具。一个是Mathpix,现成的产品,我在newtype社群里推荐过。另一个是Marker,更早之前我也在社群内推荐过。正好有小伙伴问具体怎么部署,我一会儿就具体讲讲。

先来看Mathpix。

这款产品桌面端和移动端都有。我用的是网页版。它支持上传PDF和图片。PDF的话,一般是论文;图片的话,一般是手写的笔记或者老师的板书。导入资料后,它会进行识别,然后要么存在软件里作为一条笔记、多端同步,要么导出成Markdown、Word等格式。

作为测试,我这边上传一篇大概8页的论文,它里边包含了PDF最常见的复杂格式。大概几秒钟,Mathpix就处理完成了。然后选择导出Markdown,就能得到一个md格式的文件。

把它放到Obsidian里,可以看到,转换效果挺不错的:原本分成左右两栏的内容,它都给归到一栏里;小标题、分段、表格什么的都在。

我之所以选择Obsidian是因为,它的笔记本来就是md格式,并且Copilot这款AI插件有RAG功能。现在有了PDF转Markdown的工具,以后我对论文的阅读、消化还有记笔记就可以在一个软件里搞定了。

如果你是STEM学生或者科研工作者,肯定会爱死Mathpix——一键OCR就可以输出LaTeX公式太方便了。如果你有大量PDF文档想喂给大模型作为参考资料,也可以考虑订阅,一个月不到5美金。

多说两句,我个人很喜欢Mathpix创始人的思路。他提出一个概念叫Micro-SaaS,意思是,从一个细小且集中的用户痛点切入,提供极度专业化的产品和功能。这种专注利基市场的打法,很适合今天这个AI时代。

OK,Mathpix是最省心的解决方案。当然,如果你不想花这点钱的话,也行,那就本地部署Marker来转换。

Marker是我在GitHub上找到的一个项目,人气挺高的。它同样是把PDF转成Markdown,支持多语种,可以把公式转成LateX,可以把图片也一并提取出来,支持GPU、CPU。

要部署很容易,还是那句话:有手就行。

第一步,老规矩,创建环境然后激活,这个就不用我介绍了。

第二步,安装PyTorch。大家可以去官网根据自己的情况做选择,然后通过特定的命令去下载、安装。如果没安装CUDA,那就先去老黄那边下一个。

第三步,安装Marker。pip install就可以。

这三步完成后,就可以开始使用了。

根据GitHub上的指导,我们需要通过一行命令来运行。这行命令分为四个部分:

第一部分,也就是命令的开头,告诉机器你是要转一个文档还是多个文档。如果是一个的话,就用marker single。

第二部分,告诉机器,需要转换的文档存在哪里,也就是文件地址。

第三部分,告诉机器,转换完之后,该把文档存到哪里。

第四部分是一些参数配置,比如默认batch是2个,需要消耗大约3G的显存。这个数值设得越高,需要的显存越多,转换速度也就越快。

理解这行命令的意思,每次使用就非常简单了。如果你的文件夹一直不变,其实就改一下文件名就好。

作为演示,我还是用刚才那个论文,咱们可以对比一下效果。

运行命令,就能看到每一步的进度条。大家注意看这边:Marker会先做检查,然后找到reading order阅读顺序,最后把md文件存到指定文件夹内。

除了正文,论文里的表格都单独提取出来了。

我用VS Code预览一下成品。可以看到,效果还不错。

不过,官方也强调了,他们并不能做到100%成功提取公式、表格,因为PDF这个东西太复杂、太奇怪了,没法打保票。所以转换完成之后,建议大家还是快速看一眼、检查一遍。

如果要转换多个文档也是同样思路,用命令设置存放的位置和输出的位置,可以把整个文件夹里的PDF全都转换了。我这边就不演示了,大家试一次就全明白了。

OK,以上就是今天的内容。其实我很早之前在社群里提过,不管你用什么RAG工具和技术,第一步都得先对原始数据做处理,然后才能输入进去,才能保证最终效果。大家如果想进一步交流的话,来newtype,我都在。那咱们下期见!

最适合普通人的知识库

Key Takeaway

  • QAnything是一款适合普通用户的知识库产品,支持创建多个知识库,并能处理文档和网页内容。
  • QAnything的机器人功能可将知识库以链接形式发布,用于团队协作或AI客服。
  • QAnything在RAG技术上有所创新,采用了Rerank技术(二阶段检索)提升检索精确度。
  • 文章强调了国内厂商在AI应用方面的优势,以及知识库作为用户数据资产的重要性。
  • 知识库的未来发展方向包括根据语义进行文本切割,以及支持多模态内容。

Full Content

今天给大家介绍一款普通用户也能马上上手的知识库。

我有一个感觉:国内厂商要开始卷知识库类产品了。现在大体上有两个阵营在蠢蠢欲动。

一个是模型厂商阵营,像月之暗面、Minimax。在研发大模型的同时,他们一定会围绕知识库去打造面向C端的产品。我打个比方你就理解了:

如果AI是【水】的话,那么今天每家都有的Chatbot就是【瓶装水】。这些【瓶装水】已经满大街都在卖,价值肯定越来越低。即使是头部的ChatGPT也会面临用户流失的压力。

所以,围绕AI这个【水】去开发新品类,一定是各家模型厂商必须要做的事儿。而知识库已经是公认的刚需,C端有需求,B端也有市场,而且在Chatbot上做加法,逻辑上是通的,所以大家一定会往这个方向走。

另一个阵营是传统互联网厂商。原因也很简单。

知识库里装的是什么?用户数据资产。而且是用户最重视的数据资产。这些数据资产落在哪个平台,用户就会留存或者迁移去哪边。所以,谁能利用好大模型技术,先打造出性能最好、最容易上手的知识库产品,谁在这一轮AI竞赛中就能守住地盘,甚至去挖别家的墙角。

传统互联网厂商阵营中,我看到走得比较快的,是网易。这家公司一直都很有做产品的基因。本期要给大家推荐的产品叫【QAnything】,我前两天在知识星球里推荐过。

我之前介绍了很多知识库的项目,实话实说,都需要一定的动手能力才能跑起来,其实不太适合普通用户。

我觉得对大家来说,在这个AI时代,先上手,先用起来,比什么都重要。

QAnything就是特别适合普通用户的产品。产品很直观,而且比很多老外的产品都做得更好。

就拿知识库的创建和选择来说吧。

很多同类型产品,要么是只有一个大知识库,要么虽然可以创建多个知识库,但只能选定一个知识库,只能针对一个知识库内的文档进行对话。

QAnything支持创建多个知识库。所以,你可以像使用文件夹一样来管理资料。比如我就创建了三个知识库:

  • 一个放大模型相关的论文,都是PDF文档;
  • 一个放我newtype公众号的文章,其实也就是我视频的脚本;
  • 一个放平时看到的、想保存的各种文章。

如果要选择不同的知识库,非常简单,就点几下就好了,看一眼就明白什么意思。

在做应用方面,你永远可以相信国内厂商。

我特别喜欢QAnything的Slogan:万物皆可问。这个就是技术趋势。

目前可以提问的对象是文档和网页。等之后大模型多模态速度提升、费用下降之后,视频肯定也会支持。

上传文档的功能我就不多说了。大家可以多试试【添加网址】功能。我把平时看到不错的公众号文章都传了一份进去。因为我发现,经常会想不起来在哪篇文章里看到的一个观点。那现在有了知识库,我直接问AI就好了,相当于模糊查询,还挺实用的。

在知识库的基础上,有道团队还加了机器人功能。你可以给机器人设定一些Prompt,然后关联上知识库,最后以链接的形式发布出去。

在我看来,机器人功能有两个作用。

第一,把链接分享给同事。比如,你可以安排一个实习生小朋友定期把团队文档上传到知识库里,然后以机器人的形态对内发布。这对团队来说肯定有帮助。

第二,把链接分享给客户。比如,可以把链接挂到公众号菜单栏里,当作AI客服来用。

之所以会有这个想法,是因为我看到,在知识库里,除了上传文档集,还可以上传问答集,也就是大家最熟悉的QA。比如公司介绍、产品介绍等等。这些信息,每个公司肯定有有现成的,传上去就能直接用起来了。一个简单的AI客服就搞定了。

我这几天使用下来发现,QAnything的精确度还不错。有道团队对RAG技术还是有关注的,他们使用了Rerank技术,也就是官方所说的【二阶段检索】。

Rerank并不是什么特别高深的技术。大概半年前,我看油管就有大佬在介绍,并且分享了代码。它的原理很简单:

根据用户的提问,我们从向量数据库里筛选出50个相关的文本块。但是,肯定不能把这50个全都输入给大模型,一方面是上下文长度有限制,另一方面是这50个文本块中肯定有些相关性还差一些。这时就进入Rerank阶段,对这50个文本块进行相关性排序,比如,我们设定了把相关性最高的3个或者5个给到大模型。

这么一套操作下来,由于添加了Rerank步骤,那检索的精确度肯定会提升。不过代价也是有的,那就是速度下降。

RAG技术里有很多门道。刚才说的是检索阶段的Rerank。在前边的文本切割阶段也有很大提升的空间。

传统的做法,不管你怎么设定文本块的大小,其实都不是最合适的。最理想的做法,是根据语义做切割,这样才不会把上下文意思给硬生生切断了。那谁来做这个判断呢?当然是大模型啦。

像这些新发现、新技术,国外一直在出。希望咱们国内厂商也能保持高度关注。我发现,国内对技术的了解落后非常多。这种信息差比技术差还大。

OK,以上就是本期内容。接下来,我会多介绍一些门槛不那么高的产品,让更多人都能快速用起来。大家如果有问题的话,可以来知识星球找我。咱们下期见!

最适合知识库的大模型

Key Takeaway

  • Cohere及其Command R+模型是专注于RAG和Agent的“业界清流”,其创始人是Transformer论文作者之一。
  • Cohere提供生成模型(Command R+)、嵌入模型(Embed)和重排序模型(Rerank),特别适合复杂RAG工作流和多步骤工具使用。
  • Command R+在某些方面性能达到GPT-4级别,且有量化版本可本地运行。
  • 文章介绍了通过AnythingLLM和OpenRouter调用Command R+的API方法,以及本地部署的硬件要求。
  • 强调了开源模型和开放权重模型的重要性,鼓励用户尝试GPT之外的优秀模型。

Full Content

我最感兴趣的AI公司、最喜欢的大模型,不是OpenAI和他们的GPT,而是Cohere,以及他们的Command R+。

这家公司在国内是没啥名气——大部分人只知道OpenAI,甚至连Anthropic这种级别都很少被关注。但是在业内,Cohere绝对是不容忽视的存在。

别看这家公司的创始人非常年轻,要知道,人家可是《Attention is All You Need》的作者之一。正是这篇论文,开启了这一轮大模型技术的爆发。

在创业之初,他们本来是准备面向C端市场的。后来发现C端产品比想象中的难搞多了,于是果断转向B端市场,帮助企业把大模型落地业务里。Cohere目前提供三类模型:

1、生成模型。Command系列。支持接收用户的指令,也具备对话能力。最新的Command R+非常适合复杂的RAG工作流,以及多步骤的工具使用。它在某些方面的性能甚至达到GPT-4级别。 2、嵌入模型。Embed系列。其中支持多语种的嵌入模型,长长的列表中就包含中文。 3、重排序模型。Rerank系列。对文本块进行相关性重新排序,是提升检索精确度的关键。

这么说吧,Cohere的专精方向,正好就是我长期关注的方向——RAG和Agent。

之前我做了好多期关于个人知识库的视频,因为我有一个判断:

今天最重要的两个技术,Crypto解决的是生产关系问题,AI解决的是生产力的问题。所以,大模型技术的应用落地,肯定是先落在生产力工具层面,需要RAG和Agent的带动。

一直以来,只有少数公司愿意针对RAG和Agent做大模型的优化——大多数还是蒙头搞通用大模型。所以当我了解到还有Cohere这样的“业界清流”存在时,我就对他们保持高度关注。

Cohere最新一批模型推出有一段时间了。我最近看了一下,我平时在用的、也是我之前一直在推荐的工具,都支持他们的API调用了。而且Command R+也有了量化版本,可以跑在本地。于是,就有了这一期视频。

先说API的调用。

大家如果使用AnythingLLM的话,记得看看右上角的版本号。如果版本号是橙色的,说明有新版本。下载、覆盖安装之后,在模型下拉列表中就能看到对Cohere的支持。

至于Obsidian的AI插件Copilot,它的模型列表中并没有Cohere,但是有OpenRouter。这是一个第三方平台,通过它,你可以调用各种大模型,包括Command R+。

所以咱们要做的,就是把OpenRouter的API Key填进来,然后把Command R+的名称复制粘贴过来就OK。之后每次使用,模式选Vault QA,模型选OpenRouter,就可以使用Command R+生成内容了。

通过API调用是最简单的方法。如果你的电脑配置比较给力的话,还可以试试本地运行。

Command R+有1040亿参数,算是很大的模型了。即使是量化版,文件都超过20G。要下载的话,通过LM Studio就可以。

我的PC是32G内存,显卡是3060。根据LM Studio的提示,只有三个版本可以在我的机子上跑。而且即使能跑,也只能把一部分模型放到显存里。看来还是太吃力了。我估计用64G内存加4090显卡应该能顺畅跑起来。

Anyway,不管云端还是本地,我都强烈建议大家都试试。我这几天用下来的体感是,Command R+的生成效果挺好的,我非常满意。

以后知识库的应用,如果要用云端的大模型的话,我肯定就用Command R+。至于本地,我还是选择Qwen,感觉比Llama3的量化版更好一些。

最后多说一句,大家别只盯着GPT一个模型。开源的模型、开放权重的模型当中,也有很多非常优秀的模型。多试试,没准就有惊喜了。

OK以上就是本期内容。咱们下期见!

每个IP都需要AI分身,每家企业都需要AI客服

Key Takeaway

  • AI分身和AI客服的普及是AI技术落地和应用爆发的重要代表,云厂商的加入加速了这一进程。
  • 腾讯云大模型知识引擎通过提供精调知识大模型、灵活的知识库设置(如语义切块)和搜索增强功能,驱动AI分身和AI客服。
  • 知识库设置支持文档和问答集,并强调评测和效果调优的重要性。
  • 腾讯云知识引擎的“工作流管理”功能,能将复杂流程转化为AI可执行的任务,实现高度定制化。
  • 知识库和工作流是智能体的核心能力,分别对应知识和经验。
  • 腾讯云知识引擎还提供多轮改写、Embedding、Rerank和文档解析等原子能力,方便开发者集成。

Full Content

每个IP都需要AI分身,每家企业都需要AI客服。大家可以记住我这句话,半年之后来考古。

我很确信,这一轮AI技术落地、AI应用爆发,一个代表就是AI分身、AI客服的普及。前者对应超级个体,后者对应超级组织。这个进程正在加速,因为云厂商已经加入进来了。市场格局肯定会变,不再是模型厂商占主导的局面。

你看,我就给自己的公众号加了个AI分身。这个智能体应用的背后,是腾讯云大模型知识引擎在驱动。

我记得一年前刚开始做视频介绍AI的时候,市面上的RAG工具特别稀少,而且还得靠自己各种组合、调试,才能实现一些定制需求。我甚至一度都想自己手搓一套系统了。

你再对比现在就会发现,这一年的发展实在太快了,出现了RAG as Service,出现了一大堆开箱即用的产品。就拿我刚才提到的智能体应用来说吧:

大模型我用的是“精调知识大模型高级版”,打开了“上下文改写”,把记忆轮数加到10轮。这个模型你可以理解为就是专门为RAG特训过的模型。当然,如果你觉得上下文长度不够的话,可以选别的,比如256K长文本版的混元大模型,这长度绝对够用了。

看这一串的列表你就知道,为什么大厂都要搞基础模型研发了。那么多的业务场景等着特定的大模型开锅呢。这种战略主动权不抓自己手里,脑子真就坏掉了。

在知识库设置方面,我选的是“文档”,因为都是现成的视频脚本。如果你本来就有人工客服,想转成AI客服,那肯定会有QA,对吧?这时就可以选择“问答”。

一般来说,问答类型的资料,对提升检索的精确度会更有帮助。之后我也会慢慢积累一批关于AI的问答,根据我的知识储备、我对AI的理解来调整。目的是让这个AI分身尽可能接近我的认知。

召回设置方面,一个是召回数量,也就是召回多少个切块给到模型;另一个是检索匹配度,也就是相似度达到一定数值之后才会被纳入。

至于切块的大小,并不需要用户设置。腾讯云知识引擎会根据语义、根据整篇文章的意思,自己决定该从哪里切割,这样才不会把上下文的意思给硬生生截断。这一点我特别喜欢。如果你之前有用过RAG工具的话,就知道要决定切块大小有多麻烦了。

最后,我把“搜索增强”打开了。也就是说,模型在回答的时候,除了会参考我给的知识库,还会去调用微信搜一搜和搜狗搜索的能力,从微信生态内,比如海量的公众号文章,补充更多信息进来。

之所以打开“搜索增强”,主要是因为我不想要一个只会鹦鹉学舌的AI分身。如果你的需求是AI客服的话,那可以不打开,这样更可控、更保险一些。

当这些基本设置都搞定之后,大家别着急上线,记得做评测。

先导入样本集,然后去创建评测任务。评测的目的是看看模型回答的准确率能到多少。如果准确率不达标,要么回去改设置,要么去改资料。

说实话,我之前见过太多人搞了RAG之后大骂没效果、AI胡说八道了。其实绝大多数都是因为想当然地认为,把资料全喂进去就可以。在真实世界里,现有的技术还没到这么傻瓜的程度,还是需要你做评测、做调试的。

不仅如此,正式上线之后,还会遇到用户对回答不满意的情况。这时就会用到“效果调优”。在这个页面,我们会看到所有用户不满意的回答。

刚才说的评测只是模拟情况,而这边是实际业务场景。两个加起来,才能把这个AI分身、AI客服调到最佳状态。腾讯云能想到这一点,并且把它产品化,真的是功德无量。

哈喽大家好,欢迎来到我的频道。谦虚地说,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有600多位小伙伴付费加入啦!

回到今天的主题:腾讯云大模型知识引擎。

很多人都在关注C端市场的AI应用。我其实更多是在看B端,两个原因:

第一,现阶段的AI能力距离市场的期待还挺有距离的,C端很难出现现象级的、能解决大问题的产品。

第二,B端对AI有明确需求,赛道非常清晰,回报也很可观。所以这边更有可能出现好东西。

对我这种“个体户”来说,用上企业级的产品,那就是降维打击。这是我看上云厂商产品的原因,也是我推荐给大家的原因。

腾讯云大模型知识引擎是一款PaaS产品。刚才我介绍的只是RAG的基础功能。如果你理解原理的话,那这部分的操作应该非常容易。快的话,十分钟搞定。

更进一步,如果你想对这个智能体应用有更清晰的指导,如果想把你的SOP教给AI,那一定要试试工作流管理功能。

举个典型的例子:图书馆客服服务。用户找图书馆一般会需要三种服务:要么借书,要么还书,要么咨询相关规则。于是,在这个画布上,大家可以看到三条路径,对应三种服务。

在工作流的开端,AI会先根据用户的询问做一个条件判断,决定是要进入哪条路径。我以借书为例。整个过程,AI会主动引导用户提供相应的信息。

首先是要借什么书,以及借多久。因为涉及到时间,很多用户表述会很不一致,比如两周、一个月等等,所以需要做个参数归一,把所有表述都统一成天数。

接着,AI会根据书名和要借的时长去调用接口、查询能不能借。

如果能借,那就走上边的分支,要求用户提供账号ID。如果不能借,那就走下边的分支,问用户要不要换一本书。

我在调试页面演示一下对话的效果,大家感受一下。

任何涉及到流程的交互,都可以变成工作流。比如很多人问我怎么学AI,如果用我的AI分身来处理的话,就可以把工作流给用上。根据我本人的回复和理解,设计一系列的条件判断、各种分支路径,然后全部教给AI。所以大家一定要把思路打开,别觉得这一大套东西只能用到客服上边。

另外,一个智能体应用可以挂上N个工作流。也就是说,你可以设想多种场景,创建多个工作流。AI会根据对话内容,自主判断需要进入哪一个工作流。这一点非常有用,可玩性太高了!

知识库加工作流,就是目前智能体的所有能力。前者对应知识,后者对应经验。腾讯云知识引擎把这些都打包好了。所以,用户只需要把精力放在设计、调试和调用上。

设计和调试刚才都介绍过了。那么在调用方面,这个知识引擎以API为主,毕竟是PaaS。如果你有比较强的开发能力和需求,只需要引擎的其中一部分能力的话,可以选择“原子能力”,包括:

多轮改写,其实就是针对用户可能提问不完整的情况。模型会结合上下文语义去完整还原。这个挺有用的。

Embedding和Rerank,一个是把文本进行向量化,一个是把召回的切块进行重排序,都是RAG必备能力。

文档解析,很基础、很重要,也很容易被大家忽略。好的解析是一切RAG的出发点。腾讯云在这方面很有优势。市面上很多知名的AI产品都在调用他们的文档解析技术。他们可以把各种文档转成Markdown格式。而且还可以解析表格、图片,以及页眉、页脚、标题等等内容元素。这个真就帮了大忙了,省去了我们大量处理文档的时间。

这四个“原子能力”的调用,腾讯云知识引擎都有很详细的文档介绍,我这边就不演示了。

我这个频道算是介绍RAG起家的。从本地大模型的使用,到RAG引擎的部署,过去一年我分享了好多这方面的内容。到了年底,终于有厂商推出开箱即用的综合型产品了。大家看完视频记得去试试腾讯云知识引擎。

OK,以上就是本期内容。想讨论AI,来我们newtype社群。那咱们下期见!

秘塔AI:加速知识流动

Key Takeaway

  • 秘塔AI搜索的专题功能是其核心更新,提供了知识库功能,支持多人协作和API调用。
  • 知识库的创建和分享加速了知识的流动,实现了“RAG as Service”。
  • AI要变得有用,需补充领域知识和领域经验,秘塔通过专题和工作流来解决。
  • 专题功能通过整合搜索结果、文档、网址和文章,强化了AI的输入能力。
  • 秘塔通过概念图、术语表等功能强化了AI的输出,提升了知识库的可用性。
  • 问答引擎的未来形态将是更精细化的知识流动和用户与AI的深度协作。

Full Content

我给自己的博客加了一个AI客服。现在,你有任何关于AI相关的问题都可以问它。比如,什么是过度拟合?大模型是如何预测下一个Token的?或者,大模型能像人类一样思考吗?

在这个AI客服的背后,是一个超大的知识库,有将近2000篇专业论文和文章。而知识库的后边,是秘塔的RAG技术。

前些天秘塔AI搜索上线了专题功能,其实就是大家非常需要的知识库功能。

用户可以把文档、网页、文章,甚至秘塔的搜索结果全都保存进知识库。秘塔会对这些资料做数据清洗、解析等等。然后大模型再根据资料回答用户的问题。

秘塔的这次更新,我个人最最喜欢的,是分享和API两大功能。

在专题分享设置中,如果你把“可编辑”权限打开,那么被分享的人也可以上传资料到专题的知识库当中。这意味着可以多人运营同一个专题。

比如,办公场景,团队里的每个人都可以及时更新专题知识库,让AI跟上你们的业务进度。在学术场景,一起搞研究的小伙伴,不管是谁发现了有价值的论文,都可以上传,特别方便且有用。

至于API功能,它让专题内沉淀的大量宝贵资料可以被应用到更多地方。比如,我开头说的那个包含2000篇专业论文的专题,就是秘塔官方做的。我拿到API信息之后,在Cursor的帮助下,没写一行代码,就是纯对话,不到半小时就把AI客服给做出来了。

这个其实就是国外特别火的RAG as Service。如果你只是一些轻量化的需求,那真的没必要去本地部署那些消耗特别大、调试起来特别复杂的RAG,性价比太低太低了。真的,我自己折腾过之后发现,用人家现成的就挺好。

回过头来再看专题这个功能:创建知识库是把知识引入——Input;分享和API是让知识流出——Output。整个加起来,秘塔其实在做一件事:加速知识的流动。

哈喽大家好,欢迎来到我的频道。谦虚地说,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有600位小伙伴付费加入啦!

回到今天的主题:秘塔AI搜索的专题功能。

秘塔是一款问答引擎产品。但是我觉得,它应该不会止步于问答引擎,或者说,问答引擎不应该是它的终极形态。

我之前在社群专属视频里说过,AI要变得有用起来,一定要补上两点:领域知识,和领域经验。

很多知识是非公开的,只在特定领域内流通 ,AI获取不到。或者,它虽然公开,虽然也上网了,但是网上压根搜不着。如果AI接触不到这些领域知识,那么,它就无法在知识层面、信息层面上跟用户同步和对齐,这就没法协作了。

所以,AI需要RAG,需要知识库,把领域知识补上。

再来看领域经验。经验是比知识更加非标准化、私密化的东西。比如你是开足疗店的或者开美容院的,从客户一进门的问候,到引导他选择套餐,所有环节加起来得有几十项的经验,这些都装在老板的脑子里,是最佳处理方式。如果AI接触不到领域经验,那它就只能以一个新人身份、硬着头皮往上顶了。

所以,AI需要Prompt,需要Agent Workflow去对接SOP,把领域经验补上。

从知识和经验的视角看问答引擎,我们会发现,在输出方面,问答引擎已经做得很好了——它给你的不是网页,而是答案。但是在输入端,互联网上的信息只是补充和更新了它原本就具备的通用知识。领域知识和领域经验还是欠缺的。

所以,秘塔做了两件事:

在搜索范围之外,秘塔增加工作流。比如市场营销分析、股票分析等等。这个就是把领域经验传授给AI的初级方式。后续还有很大的迭代空间。

另一个就是最近上线的专题功能。它给AI添加了一个外挂知识库。这个知识库包含四种内容。

一是搜索结果。直接点击问题右边的加号按钮就可以保存进专题。这样一来,很多我们觉得有用的搜索结果就可以分类存起来,以文章的形式进入知识库。这一点秘塔做得很赞。

二是文档。比如PDF、Word。我最经常做法是,先大致扫一遍论文,有个初步的概念,不然都不知道该问啥、聊啥。然后再给到AI,做进一步交流。

三是网址。比如,一些公司的官网上有大量的新闻稿和产品信息。这时候就可以让AI爬取里边的内容作为参考。这算是一种强指向型的指令——让AI别到处瞎搜索了,就看这个网站。

四是文章。通过新建文章,我们可以直接贴文本进去。省去了还得创建一个文档,然后再把文档上传的麻烦。

通过包含这四种内容的外挂知识库,秘塔给AI补充了它原本不具备的领域知识或者说是来自私域的信息,以及需要AI重点关注的来自公域的信息。

上面这些都属于强化输入。而在强化输出方面,秘塔解决了一个头大的问题:

当知识库里的信息越来越多之后、时间久了之后,我们可能会有点懵,拿不准里边都有什么、该问什么。这个时候,概念图、术语表、学习建议、内容概要、建议问题这五个东西就很重要了。

只要你知识库里的资料超过5份,秘塔就会自动帮你生成这些。

它会读取所有资料,把作者和对应的主题建立关联,以概念图的形式呈现。这个对于论文之类的内容特别有用。

如果你有很强的学习需求的话,那么术语表、学习建议和内容概要肯定能帮到你。知识库的体量越大,效果越显著。

如果说原本的搜索加AI是问答引擎1.0形态的话,那么,强化了输入和输出之后的专题就是问答引擎2.0形态。从原来那个更大、更泛的漏斗进阶到了一个更小、更精的漏斗。

那么,问答引擎3.0形态会是什么样子呢?我建议秘塔可以考虑把Perplexity的Page功能加到专题里边。

因为从1.0到2.0,里边的信息经过用户的主动提纯,更加接近生产需求。用户在专题里边进行多轮对话、进行思考的动力会更强。这时候,像Page这种工具就非常适合,因为它是把是把我们习惯的边搜索、边构思的过程具像化了、产品化了。

在类似Page功能的帮助下,用户和AI互相配合,又对信息或者说知识做了一道提纯,形成新的、下一层级的漏斗。这是我觉得问答引擎3.0形态该有的样子,以及背后的逻辑。

从1.0、2.0到3.0,我有一个感觉:知识的流动就像水流一样,从主干分成无数的支流,最终又汇总回主干,完成循环。在这个流动的过程中,像秘塔这样的产品,它们的价值就在于疏导和加速。

OK,以上就是本期视频。大家看完了记得去试试产品。那咱们下期见!

给大模型无限上下文

Key Takeaway

  • 上下文长度是大模型应用的关键限制,提升其难度高。
  • MemGPT将大模型视为操作系统,通过分级内存管理(Main Context + External Context)来解决上下文限制问题。
  • Main Context包含系统指令、对话上下文和工作上下文,External Context包含事件记忆和事实记录。
  • MemGPT能够自主进行上下文信息的检索和编辑,并具备“觉知”能力。
  • MemGPT支持多种后端模型,并可与AutoGen等Agent系统整合,对Multi-Agent System有重要意义。

Full Content

上下文长度是大模型要跨过的第一道槛。

长度太短,就无法开启很多领域的应用,比如医疗GPT。想象一下,医患20轮对话之后,医生就不记得病人的基本情况了,这怎么搞?

所以,上下文长度约等于大模型的内存,是衡量大模型能力的基本指标之一。

但是要提升大模型的上下文长度,难度很高。

一是训练方面。需要更高的算力和显存,还需要更多的长序列数据。

二是推理方面。Transformer模型的自注意力机制(Self-Attention)要求对序列中的每个元素去计算它与其它元素的相关性。这种机制天然决定了上下文长度不可能太长。于是大家又提出了一系列处理长序列的解决方案,这是另一个超大话题,此处不展开。

MemGPT找到了一个天才解法。

LLM = OS

大模型是什么?

MemGPT认为,大模型本质上就是操作系统。所以,上下文就是内存,上下文长度管理就是内存管理。

操作系统是怎么管理内存的?

等级制。CPU缓存(L1、L2和L3)离核心最近,速度最快,但容量最小。按这个逻辑往外推,其次是内存,最后是硬盘。

根据需要,操作系统会在这三个层级之间调配数据:最着急用的,放CPU缓存;暂时用不着的,放硬盘。

既然大模型是操作系统,那采用相同的内存管理方法,没毛病。

MemGPT就是这么干的。

Main Context + External Context

这是MemGPT的运行逻辑:

当有事件发生时,事件信息通过解析器(Parser)进入虚拟“内存”(Virtual Context)。

大模型作为处理器(Processor),对内存中的数据进行调用、确认,然后再通过解析器输出,变成一个行为。

关键点就在Virtual Context上。它分为两个部分:

一、Main Context:就是有原本有长度限制的上下文。Main Context由三部分组成:

  1. System Instructions,系统指令。简单理解就是每次我们在system message里写的“you are a helpful assistant”。这部分只读,并且每次都会被调用,因为它是底层设定。
  2. Conversational Context,对话上下文。采用“先进先出”(FIFO)规则——超过一定长度后,最旧的对话会被抛弃。
  3. Working Context,工作上下文。简单理解就是大模型的笔记本,上边记录着当前的注意事项。

下图就充分说明了Working Context是怎么一回事。

当用户提到了“今天生日”和“最爱的巧克力熔岩蛋糕”两个关键信息时,大模型迅速在笔记本上写下这两点,然后在回复中应用起来。

二、External Context:就是存储在外部的上下文信息,比如存在硬盘里。External Context由两部分组成: