前言从 2022 年的 OpenAI 的ChatGPT3.5发布,AI 技术迅速火遍全宇宙。全人类开始都在讨论 AI 技术的未来和人类自己的未来。比如“AI 是否能够替代人类”、“AI 究竟是什么?”、“AI是否能增加每个人的失业风险”、“安全与隐私问题如何平衡”、“AI 是否会导致社会的不平等问题加剧?”等等的话题。 2023 年是可以说是 AI 技术的发展元年。很多有能力的公司都在做自己的 「LLM」,「文心一言」、「Qwen」、「云雀语言大模型」、「Genimi」、「天工大模型」、「混元大模型」、「ChatGLM2」、「Llama2」、「GPT-4」,「GPT-3.5」、「百川大模型」等。 这么多的大模型在这一年的时间里面在不断的进化,不断的提升各自模型的能力。从开始单一的聊天对话形式不断进化为多模态的形式,「文生图」、「图生文」、「图生图」等模型的能力越来越强。尤其是在编码能力方面给我们程序员提供了很多的帮助。 在如今 AI 火爆的时代,作为程序员的我们如何使用 AI 技术来给我们提供帮助?比如:学习、提升技能、工作、生活等等的方面。这个问题是我们值得思考的一个问题。对于这个世界的大部分人来说 AI 技术其实就是一个工具,AI 技术在未来一定会给我们的生活提供很多便捷性,就好比第二次工业革命一样,它淘汰了很多个体体力劳动者,取而代之的是很多工业企业。同样现在也一样好多企业已经在思考 使用AI 技术在自己的企业赋能。那作为个人的我们如何使用 AI 技术来提升我们的工作和生活效率能? 主题接下来我们就探索如何使用 「扣子/coze」 来构建一个自己的个人blog知识库。 ❝ 功能架构设计「扣子/coze」 是一个 LLM 的应用开发工具,他内置了很多自己的工具,可以提供给开发者直接使用。而且他还提供了自定义相关插件的功能,那么我们就可以结合他的自定义的能力扩展出很多的能力,从而可以构建我们自己的应用程序。 扣子/coze 的功能特点:插件
数据源
持久化
工作流使用工作流可以无缝的将自己的业务逻辑与相关的工具集相结合,从而构建强大的业务能力。 下面是使用扣子来搭建自己的blog「知识库」的功能设计图: 前提本文只要是将自己的 blog 网站的内容作为知识库的数据源来构建自己的知识库。所以如果你想构建自己自己的博客知识库就首先需要有一个博客网站。如果你本地有很多的文本内容同样可以构建自己的知识库,不过需要稍微做个变换就行。本文主要就是提供个思路,仅做参考,提供思路。 配置插件工具「search_keywords」插件工具的主要功能就是根据执行一个 博客内容API 请求。返回的内容需要一个 json 的数据,因为需要将「search_keywords」插件工具在工作流中解析使用。 配置插件工具比较简单,跟着提示一直构建就行。 在第三步:配置输出参数使用“自动解析”即可。 第四步:调试与校验完成后,显示调试通过即可保存。最后回到首页点击发布。 我这里请求 API 不需要请求参数,所以为空,大家根据自己的情况配置即可。 配置工作流工作流的功能就是将一些工具集或者是另外的一些工作流串起来,创联每个步骤的数据输入以及输出,使功能满足自己的业务逻辑的流程。 我们在空间(个人/团队)里面点击工作流,进入工作流配置页面中创建自己的工作流。 这里面有一个名字是 「keywords_search」的工作流: 工作流的节点配置以及功能如下: 我们配置了 4 个节点,下面分别说明一下每个节点的作用: 开始节点:开始节点是工作流的默认节点,我们可以配置输入参数以及参数的数据类型。这里我们配置一个 search_keywords节点:「search_keywords」节点就是我们上面配置的插件,用来获取我们 API 的内容。这里插件可以在工作流的左侧插件列表中找到。插件列表提供了系统内置的插件和自定义的插件。 代码节点:代码节点的功能是将 「start」节点的
我们编写代码来过滤数据: async function main({ params }: Args): Promise<Output> {
结束节点:这个节点是「工作流」的默认结束节点,这里我们只需要配置他的输入参数引用的是代码节点返回的参数 调试工作流:配置完成后我们可以试用行我们配置的工作流,点击「试运行」,输入 这里清晰的可以看到每一步的输入参数和输出参数。 ❝ 知识库构建:「扣子/coze」 的知识库功能支持上传外部数据(例如本地文件、实时在线数据),通过向量搜索来检索最相关的内容以回答用户的问题,这可以帮助你的 Bot 更精确地回答问题。 我们将自己的网站或者 blog 网站的内容导入知识库,通过知识库的自动更新能力,让 Bot 帮助你收集最新数据。当 Bot 使用了这个知识库后,你就可以拥有一个专属领域的 Bot。 一个知识库中可添加一个或多个单元,用于存储外部数据。每个单元可包含多个分段,分段是一条独立的信息或特定的内容块。上传到知识库中的内容会被分割成多个分段,然后通过向量召回,召回最相关的分段,帮助模型提高回答的准确性。 我们创建自己的知识库:「blog知识库」 创建好知识库后,点击新增单元,并选择导入文件的方式,这里我们选择「在线数据」来导入博客的页面内容。 点击保存后会自动创建单元,并对数据进行分段。 如此我们可以将所需要的页面内容来构建知识库。 创建Bot❝ Prompt 提示词编排配置人设与回复逻辑: 人设与回复逻辑:是一种自然语言指令,告诉大语言模型(LLM)执行什么任务。搭建 Bot 的第一步就编写提示词,为 Bot 设定身份和目标。Bot 会根据大语言模型对人物设定和回复逻辑的理解,来响应用户问题。因此提示编写的越清晰明确,Bot 的回复也会越符合预期。 ❝ 我们输入一段自然语言,比如:
然后使用优化工具来优化 工具编排技能区域有 3 部分的配置:
插件配置我们选择“必应搜索”插件来提供网络搜索。我们的 「prompt」的有一条指令 配置卡片数据绑定: 这里面可以配置卡片的样式,卡片需要绑定的数据源等 工作流配置工作流配置中添加上面配置的工作流 知识库只要我们上面配置过知识库,这里就会自动绑定我们预先配置好的 数据库我们这里没用到数据库,所以不需要配置。 高级配置
高级配置里面相关文案可以根据自己的实际情况配置,以上仅为参考。或者可以在自己的使用过程中不断的微调,让大模型更能理解我们的意图。 预览与调试配置完成后就可以在 我们可以在预览区域测试我们的 Bot 的能力,Bot 的实际表现,如果不符合预期,根据 Bot 的目标,分析不符合预期的原因,并不断调整和优化回复「prompt」逻辑。 发布BotBot编辑好后,如果他的实际表现符合我们的预期,我们既可以发布 Bot,「扣子/coze」支持发布 Bot 到如图所示的平台。 具体相关配置可以参考官方文档:https://www./docs/guides/publish_to_feishu 总结总体来说使用「扣子/coze」来搭建自己的知识库还是很方便的,通过「插件工具」,文档上传/拉去形成「知识库」,然后通过「工作流」将工具串联起来。 比较耗费时间的地方就是 「prompt」 人设与回复逻辑的调整。在使用的过程中会遇到比较难以理解的回答和不统一的回答:比如
演示:https://www.ixigua.com/7336526048761152010 结尾:❝ 「bot ID:」 7335819782228377640 |
|