扣子常用资源介绍
文章目录
- 扣子平台架构
- 扣子资源介绍
- 知识库
- 功能概述
- 知识与记忆对比
- 知识库类型
- 扣子知识库和火山知识库的对比
- 创建知识库
- 提示词
- 创建提示词方法
- 提示词类型
- 示例
- 数据库
- 创建数据库
- 使用数据库
- 总结
扣子平台架构
- 空间:空间是资源组织的基础单元,不同空间内的资源和数据相互隔离。一个空间内可创建多个智能体和 AI 应用,并包含一个资源库。在资源库中创建的资源可以被相同空间内的智能体和 AI 应用使用。
- 项目:项目分为智能体和 AI 应用两种类型,AI 应用内可以创建多种应用专属资源,也可以和智能体共享空间资源库中的资源。
- 智能体:智能体(Agent)通常指的是一个能够独立执行任务、做出决策并进行学习的一种自动化程序。智能体可以根据用户输入的指令,自主调用模型、知识库、插件等技能并完成编排,最终完成用户的指令。
- AI 应用:AI 应用是指利用大模型技术开发的应用程序,这些应用程序能够使用大模型,执行复杂任务,分析数据,并作出决策。
- 资源库:你可以在资源库内创建、发布、管理共享资源例如插件、知识库、数据库、提示词等。这些资源可以被同一空间内的智能体和应用使用。
资源可以存在于两个实体内,一个是空间的资源库,一个是 AI 应用项目中的项目资源库。 - 空间资源库:在空间资源库内创建的资源可以被空间内的 AI 应用项目和智能体项目使用,属于空间内的共享资源。
- AI 应用项目:在 AI 应用项目中也可以创建资源,但这些资源是项目自有的资源,默认不可以被其他项目使用也不会展示在空间资源库内。
扣子资源介绍
知识库
扣子支持使用扣子官方知识库和火山知识库,两者均支持上传和存储外部知识内容,并提供了多种检索能力。扣子的知识能力可以解决大模型幻觉、专业领域知识不足的问题,提升大模型回复的准确率。
功能概述
知识库功能包含两个能力,一是存储和管理外部数据的能力,二是增强检索的能力。
- 数据管理与存储
扣子支持从多种数据源例如本地文档、在线数据、Notion、飞书文档等渠道上传文本和表格数据。上传后,扣子可将知识内容自动切分为一个个内容片段进行存储,同时支持用户自定义内容分片规则,例如通过分段标识符、字符长度等方式进行内容分割。 - 增强检索
扣子的知识功能还提供了多种检索方式来对存储的内容片段进行检索,例如使用全文检索通过关键词进行内容片段检索和召回。
大模型会根据召回的内容片段生成最终的回复内容。
知识与记忆对比
扣子的知识和记忆能力都可以用来存储数据。在使用时可以从最终的使用者和存储的数据内容上进行区分。
知识:知识是供智能体或工作流调用的静态数据,可在空间内共享。由开发者创建和维护,智能体的终端用户无法对知识内容进行修改。
记忆:扣子提供了数据库、变量、长期记忆等记忆功能。通常这些数据是智能体的终端用户在使用智能体时产生的动态数据,不支持跨智能体使用。
知识库类型
扣子支持使用扣子知识库和火山知识库,两者对应的分类方式不同。
扣子知识库:分为文本类型、表格类型、图片类型的知识库。
火山知识库:分为结构化和非结构化的知识库。
扣子知识库和火山知识库的对比
扣子知识库和火山知识库在功能上无明显差异,均能满足知识数据的存储、召回等需求。扣子知识库提供一定的存储空间免费额度,而火山知识库从上传文档并开始计费,因此你可以先通过扣子知识库体验知识库功能,如果需要更精细化的内容管理、更大的存储空间,再选择火山知识库。
对比项 | 文本类型 | 表格类型 | 照片知识库 |
---|---|---|---|
使用场景 | 文本知识库支持基于内容片段进行检索和召回,大模型结合召回的内容生成最终内容回复,适用于知识问答等场景。 | 表格知识库支持基于索引列的匹配(表格按行进行划分),同时也支持基于 NL2SQL 的查询和计算。 | 照片知识库支持基于标注信息的匹配,适用于图像生成场景。 |
导入方式 | 本地文档:1.从本地文件中导入文本内容,支持.txt、.pdf、doc、.docx 文件格式。2.在线数据:通过自动和手动方式采集指定网页的内容。3.第三方渠道:从飞书文档和 Notion 文档中导入内容。4.自定义:手动输入要导入的文本内容。 | 1.本地文档:从本地文件中导入表格内容,支持.csv和.xlsx文件格式。2.在线数据:通过 API 导入数据。3.第三方渠道:支持从飞书表格中导入数据。4.自定义:手动输入要导入的表格数据。 | 本地图片:从本地文件中导入图片,支持JPG、JPEG和PNG图片格式。 |
内容分段 | 支持自动内容分段和手动分段方式。 | 对于表格内容,默认按行分片,一行就是一个内容片段,不需要再进行分段设置。 | 不涉及。 |
索引 | 不涉及。 | 扣子支持设置索引字段。用户输入的问题会与设置的索引字段内容对比,根据相似度匹配最相关的内容给大模型用于内容生成。 | 扣子支持设置图片的标注信息。用户输入的问题会与设置的标注信息对比,根据相似度匹配最相关的图片给大模型用于内容生成。 |
创建知识库
登录扣子 --> 工作空间 --> 资源库 --> +资源 --> 知识库 -->
选择扣子知识库 --> 输入名称/描述 --> 选择导入类型 -->选择图标 --> 进行创建
第一步:进入新增知识库页面,上传文件
2.配置文档解析策略、分段策略、配置存储,没有特定要求下可以保持默认
第三步:分段预览,可以对解析的文档内容进行预览
第四步:等待处理完成后,进行确认,便可创建完成
其他类型的知识库与此类似
提示词
提示词是一种自然语言指令,它为大语言模型(LLM)提供任务指导。搭建智能体的第一步就是编写提示词,为智能体设定身份和目标。智能体会根据大语言模型对人物设定和回复逻辑的理解,来响应用户问题。因此提示词编写得越清晰明确,智能体的回复也会越符合预期。
创建提示词方法
- AI 生成:你可以通过自然语言告诉 AI 你希望编写或优化的提示词,大语言模型会根据你的描述,自动生成提示词;你也可以根据调试结果,告诉 AI 提示词哪里不符合预期以及你的预期效果,大语言模型会自动帮你完成优化。
- 高效编写:支持 Jinja 和 Markdown 语法,以及编辑块和快速引用技能等功能,帮助你更高效地编写提示词,从而提高大模型的输出质量。
- 模版复用:扣子提供了各种业务场景的提示词模版,你可以直接使用这些模版,也可以将其修改为更适合自己业务的提示词。
- 资源管理:你可以在资源库中创建提示词,供工作空间内的其他成员引用。通过更新和丰富提示词资源库,可以不断提高提示词的编写效率。
提示词类型
提示词包括系统提示词和用户提示词,两者区别如下:
- 系统提示词:在搭建智能体时,设置的人设与回复逻辑就是系统提示词,它是开发者为大语言模型设定的初始参数和行为准则,在整个会话中持续影响大模型的响应模式。通过编写系统提示词,可以为大模型设定特定的角色定位和回复逻辑。
- 用户提示词:在与智能体对话时,用户的输入就是用户提示词,它是用户直接向大语言模型提出的具体指令或问题,指导模型执行特定的任务或提供特定的信息。用户提示词的设置应简洁明了,以便模型能够准确捕捉用户的需求。
假设我们需要构建一个友好且专业的健康咨询助手,以下是设置系统提示词和用户提示词的示例: - 系统提示词:你是一个友好且专业的健康咨询助手,专注于为用户提供基于科学和医学知识的健康建议。在回答用户的问题时,你的回答应该既专业又易于理解,同时保持语言的温和和鼓励性。请确保所有建议都是基于最新的健康指南,并避免提供具体的医疗诊断。
- 用户提示词:我最近总是感到疲劳,这可能是什么原因呢?。
内容模块 | 说明 | 示例 |
---|---|---|
人物设定 | 描述所扮演的角色、职责和回复风格。 | ## 人设 你是一个新闻播报员,可以用非常生动的风格讲解科技新闻。 |
功能和流程 | 描述智能体的功能和工作流程,约定智能体在不同的场景下如何回答用户问题。 尽管智能体会根据提示内容自动选择工具。但仍建议通过自然语言强调在何种场景下、调用哪个工具来提升对智能体的约束力,选择更符合预期的工具以保证回复的准确性。 如果智能体设置了变量并开启了提示词访问,你也可以在人设与提示词中,指定变量的具体使用场景,例如称呼你的用户为{{name}}。 | ## 技能 当用户询问最新的科技新闻时,先调用“getToutiaoNews” 搜索最新科技新闻,再调用“LinkReaderPlugin”访问新闻地址,最终整理最重要的 3 条新闻回复用户。 |
约束与限制 | 如果你想限制回复范围,请直接告诉智能体什么应该回答、什么不应该回答。 | ## 限制 拒绝回答与新闻无关的话题;如果并没有搜索到新闻结果,请告诉用户你没有查到新闻,而不应该编造内容。 |
回复格式 | 你也可以为智能体提供回复格式的示例。智能体会模仿提供的回复格式回复用户。 | 请参考如下格式回复: 新闻标题 - 新闻摘要:30 个字左右的新闻摘要 - 新闻时间:yyyy-mm-dd |
示例
{#InputSlot placeholder="请输入编辑块内容为空时的提示文案" mode="input"#}{#/InputSlot#}# 角色
你是一位热情且专业的英语伙伴,能与用户流畅地用英语对话,为用户提供单词、音标、释义,并给出包含该单词的句子,帮助用户进行英语学习。## 技能
### 技能 1: 提供英语学习资料
1. 当用户提出想要学习某个单词时,你需要使用工具查询该单词的音标、释义。
2. 依据查询结果,为用户提供单词、音标、释义,并构造一个包含该单词的实用句子。
===回复示例===
- **单词**: <具体单词>
- **音标**: [音标内容]
- **释义**: <准确释义>
- **例句**: <包含该单词的句子>
===示例结束===### 技能 2: 英语日常对话
1. 当用户发起日常英语对话时,积极回应,保持对话的流畅性和自然度。
2. 尽量使用丰富多样的词汇和地道的表达方式。## 限制:
- 只进行与英语学习和交流相关的对话,拒绝回答与英语无关的话题。
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 释义部分应简洁明了,准确传达单词含义。
- 通过工具查询单词相关信息,确保信息准确。
- 请使用 Markdown 的 ^^ 形式说明引用来源。
数据库
扣子的数据库功能提供了一种简单、高效的方式来管理和处理结构化数据,开发者和用户可通过自然语言插入、查询、修改或删除数据库中的数据。同时,也支持开发者开启多用户模式,支持更灵活的读写控制。
创建数据库
填写数据库名称、描述、图标
添加字段后点击保存,便创建完成
使用数据库
通过工作流 SQL 自定义节点操作数据表
扣子支持在工作流中新增 SQL 自定义节点、新增数据节点、查询数据节点、更新数据节点和删除数据节点来操作数据库。此处以 SQL 自定义节点为例。
总结
扣子提供的资源库比较丰富,对常用的资源进行了解,方便我们后期在扣子进行智能体及应用的开发过程中使用。