前言

从 2022 年的 OpenAI 的ChatGPT3.5发布,AI 技术迅速火遍全宇宙。全人类开始都在讨论 AI 技术的未来和人类自己的未来。比如“AI 是否能够替代人类”、“AI 究竟是什么?”、“AI是否能增加每个人的失业风险”、“安全与隐私问题如何平衡”、“AI 是否会导致社会的不平等问题加剧?”等等的话题。

2023 年是可以说是 AI 技术的发展元年。很多有能力的公司都在做自己的 LLM文心一言Qwen云雀语言大模型Genimi天工大模型混元大模型ChatGLM2Llama2GPT-4GPT-3.5百川大模型等。

这么多的大模型在这一年的时间里面在不断的进化,不断的提升各自模型的能力。从开始单一的聊天对话形式不断进化为多模态的形式,文生图图生文图生图等模型的能力越来越强。尤其是在编码能力方面给我们程序员提供了很多的帮助。

在如今 AI 火爆的时代,作为程序员的我们如何使用 AI 技术来给我们提供帮助?比如:学习、提升技能、工作、生活等等的方面。这个问题是我们值得思考的一个问题。对于这个世界的大部分人来说 AI 技术其实就是一个工具,AI 技术在未来一定会给我们的生活提供很多便捷性,就好比第二次工业革命一样,它淘汰了很多个体体力劳动者,取而代之的是很多工业企业。同样现在也一样好多企业已经在思考 使用AI 技术在自己的企业赋能。那作为个人的我们如何使用 AI 技术来提升我们的工作和生活效率能?

主题

接下来我们就探索如何使用 扣子/coze 来构建一个自己的个人blog知识库。

扣子是新一代一站式 AI Bot 开发平台。无论你是否有编程基础,都可以在扣子平台上快速搭建基于 AI 模型的各类问答 Bot,从解决简单的问答到处理复杂逻辑的对话。而且你可以将搭建的 Bot 发布到各类社交平台和通讯软件上,让更多的用户与你搭建的 Bot 聊天。www.coze.cn/

功能架构设计

扣子/coze 是一个 LLM 的应用开发工具,他内置了很多自己的工具,可以提供给开发者直接使用。而且他还提供了自定义相关插件的功能,那么我们就可以结合他的自定义的能力扩展出很多的能力,从而可以构建我们自己的应用程序。

扣子/coze 的功能特点:
插件
  • 内置插件
  • 自定义插件
数据源
  • 内容上传
  • URL 获取在线网页内容
  • API JSON 数据
  • 自定义数据集
持久化
  • 数据库
  • 知识库
工作流

使用工作流可以无缝的将自己的业务逻辑与相关的工具集相结合,从而构建强大的业务能力。

下面是使用扣子来搭建自己的blog知识库的功能设计图:

知识库的功能设计图

前提

本文只要是将自己的 blog 网站的内容作为知识库的数据源来构建自己的知识库。所以如果你想构建自己自己的博客知识库就首先需要有一个博客网站。如果你本地有很多的文本内容同样可以构建自己的知识库,不过需要稍微做个变换就行。本文主要就是提供个思路,仅做参考,提供思路。

配置插件工具

search_keywords插件工具的主要功能就是根据执行一个 博客内容API 请求。返回的内容需要一个 json 的数据,因为需要将search_keywords插件工具在工作流中解析使用。

配置插件工具比较简单,跟着提示一直构建就行。

image-20240217135936207

在第三步:配置输出参数使用“自动解析”即可。

第四步:调试与校验完成后,显示调试通过即可保存。最后回到首页点击发布。

image-20240217140133550

我这里请求 API 不需要请求参数,所以为空,大家根据自己的情况配置即可。

在这里插入图片描述

配置工作流

工作流的功能就是将一些工具集或者是另外的一些工作流串起来,创联每个步骤的数据输入以及输出,使功能满足自己的业务逻辑的流程。

我们在空间(个人/团队)里面点击工作流,进入工作流配置页面中创建自己的工作流。

这里面有一个名字是 keywords_search的工作流:

image-20240217141028953

工作流的节点配置以及功能如下:

image-20240217141112829

我们配置了 4 个节点,下面分别说明一下每个节点的作用:

开始节点:

开始节点是工作流的默认节点,我们可以配置输入参数以及参数的数据类型。这里我们配置一个 query:string的参数提供关键字的查找。

search_keywords节点:

search_keywords节点就是我们上面配置的插件,用来获取我们 API 的内容。这里插件可以在工作流的左侧插件列表中找到。插件列表提供了系统内置的插件和自定义的插件。

image-20240217141533375

代码节点:

代码节点的功能是将 start节点的 query 参数与search_keywords节点返回的参数data作为输入的参数数据,并对 data 的数据做过滤,并将过滤后的数据返回。

  • input 参数:引用开始节点的 query 参数的值。
  • seach_result参数:引用search_keywords节点返回的数据值。

我们编写代码来过滤数据:

 async function main({ params }: Args): Promise<Output> {
     const regex = new RegExp(params.input, 'i');
     let ret = [];
     for (let item of params.search_result) {
         // let item = params.search_result[idx]
         var data = {
             "content": "",
             "date": "",
             "permalink": "",
             "summary": "",
             "title": ""
         }
         if (regex.test(item.title)) {
             data.content = item.content
             data.date = item.date
             data.permalink = "https://fm126.top"+item.permalink
             data.summary = item.summary
             data.title = item.title
             ret.push(data)
         }
     }
 ​
     return ret
 }


  • 配置返回值中参数名称以及数据类型,提供模型回答时候卡片内容的展示配置。
结束节点:

这个节点是工作流的默认结束节点,这里我们只需要配置他的输入参数引用的是代码节点返回的参数 ret即可。

调试工作流:

配置完成后我们可以试用行我们配置的工作流,点击试运行,输入query参数的值,提交后查看运行结果。

image-20240217142940798

这里清晰的可以看到每一步的输入参数和输出参数。

这里有一点需要注意的就是:我们自定义的插件的返回的数据一定需要有个字段名称,否则这里配置参数引用的时候会报错“节点参数校验失败”。

知识库构建:

扣子/coze 的知识库功能支持上传外部数据(例如本地文件、实时在线数据),通过向量搜索来检索最相关的内容以回答用户的问题,这可以帮助你的 Bot 更精确地回答问题。

我们将自己的网站或者 blog 网站的内容导入知识库,通过知识库的自动更新能力,让 Bot 帮助你收集最新数据。当 Bot 使用了这个知识库后,你就可以拥有一个专属领域的 Bot。

image-20240217151250028

一个知识库中可添加一个或多个单元,用于存储外部数据。每个单元可包含多个分段,分段是一条独立的信息或特定的内容块。上传到知识库中的内容会被分割成多个分段,然后通过向量召回,召回最相关的分段,帮助模型提高回答的准确性。

image-20240217151450282

我们创建自己的知识库:blog知识库

创建好知识库后,点击新增单元,并选择导入文件的方式,这里我们选择在线数据来导入博客的页面内容。

image-20240217151832390

点击保存后会自动创建单元,并对数据进行分段。

image-20240217152003815

如此我们可以将所需要的页面内容来构建知识库。

image-20240217152124330

创建Bot

点击 bot 页面 > 创建 bot > 填写名称+介绍 > 结束

image-20240217152540215

Prompt 提示词编排

配置人设与回复逻辑:

人设与回复逻辑:是一种自然语言指令,告诉大语言模型(LLM)执行什么任务。搭建 Bot 的第一步就编写提示词,为 Bot 设定身份和目标。Bot 会根据大语言模型对人物设定和回复逻辑的理解,来响应用户问题。因此提示编写的越清晰明确,Bot 的回复也会越符合预期。

参考编写建议: www.coze.cn/docs/guides…

我们输入一段自然语言,比如:

 # 角色
 你是一位知识库助手,可以提取、总结、分析和解释内容,并以通俗易懂的语言回答相关问题。
 ​
 ## 技能
 ### 技能 1: 知识库获取数据
 1. 从知识库中查找并提取相关内容。
 2. 对知识库中的内容做总结。
 3. 如果用户输入的内容格式为“q=keyword”,需要提取等号后面的内容并去除空格,并调用“keywords_search”工作流来查找内容。
 4. 用户输入的内容格式为"s=keyword"时,不要调用“知识库”和“keywords_search”工作流来查找内容,你需要提取等号后面的内容并调用“必应搜索”插件来搜索结果。
 ​
 ### 技能 2: 搜索引擎
 1. 如果没有找到任何内容输出:“暂未找到相关内容,是否使用搜索引擎搜索内容?”,当用户输入“是”或者“是的”或者“yes”等肯定回答的情况下调用“必应搜索”插件来获取相关内容。
 ​
 ## 限制
 - 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
 - 在使用特定编程语言提取数据时,必须解释所使用的逻辑和方法,不能仅仅给出代码。
 - 未找到内容时不要输出卡片数据。
 - 只会输出知识库中已有内容, 不在知识库中的内容, 需要通过工具去了解。
 - 输出的内容请标记文档连接。 
 - 请使用 Markdown 的 ^^ 形式说明引用来源。


然后使用优化工具来优化 Prompt:

image-20240217153556121

工具编排

技能区域有 3 部分的配置:

  • 技能:插件、工作流

  • 记忆:知识库、数据库

  • 高级:开场白、用户问题建议、音色

插件配置

我们选择“必应搜索”插件来提供网络搜索。我们的 prompt的有一条指令 4. 用户输入的内容格式为"s=keyword"时,不要调用“知识库”和“keywords_search”工作流来查找内容,你需要提取等号后面的内容并调用“必应搜索”插件来搜索结果。来执行必应搜索插件获取内容。

配置卡片数据绑定:

这里面可以配置卡片的样式,卡片需要绑定的数据源等

image-20240217153800088

工作流配置

工作流配置中添加上面配置的工作流 keywords_search ,并配置卡片的样式,卡片需要绑定的数据源等。

image-20240217154110527

知识库

只要我们上面配置过知识库,这里就会自动绑定我们预先配置好的blog知识库。同样这里可以添加多个知识库来提供Bot 使用。

数据库

我们这里没用到数据库,所以不需要配置。

高级配置
  • 开场白文案配置:你好,我是一名知识库助手,可以为你提供各种信息和答案。无论你需要什么帮助,我都会尽力回答你的问题。

  • 开场白预置问题:

    • 请问知识库中有关于golang主题的信息吗?
    • 帮我总结一下知识库中涉及到的关键技术点。
    • 使用技巧:q=keyword 用来关键字搜索知识库关键字, s=keyword调用搜索引擎来获取内容
  • 用户问题建议:使用默认配置

  • 音色:选用自己喜欢的。

高级配置里面相关文案可以根据自己的实际情况配置,以上仅为参考。或者可以在自己的使用过程中不断的微调,让大模型更能理解我们的意图。

预览与调试

配置完成后就可以在 预览与调试看到bot 基本的样子:

image-20240217155118036

我们可以在预览区域测试我们的 Bot 的能力,Bot 的实际表现,如果不符合预期,根据 Bot 的目标,分析不符合预期的原因,并不断调整和优化回复prompt逻辑。

发布Bot

Bot编辑好后,如果他的实际表现符合我们的预期,我们既可以发布 Bot,扣子/coze支持发布 Bot 到如图所示的平台。

image-20240217162832465

具体相关配置可以参考官方文档: www.coze.cn/docs/guides…

总结

总体来说使用扣子/coze来搭建自己的知识库还是很方便的,通过插件工具,文档上传/拉去形成知识库,然后通过工作流将工具串联起来。

比较耗费时间的地方就是 prompt 人设与回复逻辑的调整。在使用的过程中会遇到比较难以理解的回答和不统一的回答:比如

  • 一个问题问多次,每次回复的差距比较大,有的可以找到知识库中的内容来回答,而有的回答提示未找到相关内容。
  • 执行 q=keywords=keyword 有的时候可以正确执行,但是大多数的时候还是不能理解。

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐