This commit is contained in:
c121914yu
2025-04-08 05:51:35 +00:00
commit 01c44329f4
797 changed files with 20845 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>商业版后台 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/admin/</link><description>Recent content in 商业版后台 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/admin/index.xml" rel="self" type="application/rss+xml"/><item><title>SSO &amp; 外部成员同步</title><link>https://doc.tryfastgpt.ai/docs/guide/admin/sso/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/admin/sso/</guid><description>如果你不需要用到 SSO/成员同步功能,或者是只需要用 Github、google、microsoft、公众号的快速登录可以跳过本章节。本章适合需要接入自己的成员系统或主流 办公IM 的用户。
介绍 link为了方便地接入外部成员系统FastGPT 提供一套接入外部系统的标准接口,以及一个 FastGPT-SSO-Service 镜像作为适配器。
通过这套标注接口,你可以可以实现:
SSO 登录。从外部系统回调后,在 FastGPT 中创建一个用户。 成员和组织架构同步(下面都简称成员同步)。 原理
FastGPT-pro 中有一套标准的SSO 和成员同步接口,系统会根据这套接口进行 SSO 和成员同步操作。
FastGPT-SSO-Service 是为了聚合不同来源的 SSO 和成员同步接口,将他们转成 fastgpt-pro 可识别的接口。
系统配置教程 link1. 部署 SSO-service 镜像 link使用 docker-compose 部署:
fastgpt-sso: image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sso-service:v4.9.0 container_name: fastgpt-sso restart: always networks: - fastgpt environment: - SSO_PROVIDER=example - AUTH_TOKEN=xxxxx # 鉴权信息fastgpt-pro 会用到。 # 具体对接提供商的环境变量。 根据不同的提供商,你需要配置不同的环境变量,下面是内置的通用协议/IM
协议/功能 SSO 成员同步支持 飞书 是 是 企业微信 是 是 钉钉 是 否 Saml2.0 是 否 Oauth2.</description></item><item><title>团队模式说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/admin/teammode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/admin/teammode/</guid><description>介绍 link目前支持的团队模式
多团队模式(默认模式) 单团队模式(全局只有一个团队) 成员同步模式(所有成员自外部同步) 团队模式 短信/邮箱 注册 管理员直接添加 SSO 注册 是否创建默认团队 是否加入 Root 团队 是否创建默认团队 是否加入 Root 团队 是否创建默认团队 是否加入 Root 团队 单团队模式 ❌ ✅ ❌ ✅ ❌ ✅ 多团队模式 ✅ ❌ ✅ ❌ ✅ ❌ 同步模式 ❌ ❌ ❌ ✅ ❌ ✅ 多团队模式(默认模式) link多团队模式下每个用户创建时默认创建以自己为所有者的默认团队。
单团队模式 link单团队模式是 v4.9 推出的新功能。为了简化企业进行人员和资源的管理,开启单团队模式后,所有新增的用户都不再创建自己的默认团队,而是加入 root 用户所在的团队。
同步模式 link在完成系统配置开启同步模式的情况下外部成员系统的成员会自动同步到 FastGPT 中。
具体的同步方式和规则请参考 SSO &amp;amp; 外部成员同步。
配置 link在 fastgpt-pro 的系统配置-成员配置中,可以配置团队模式。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>基础教程 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/course/</link><description>Recent content in 基础教程 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/course/index.xml" rel="self" type="application/rss+xml"/><item><title>快速上手</title><link>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</guid><description>更多使用技巧,查看视频教程
知识库 link开始前请准备一份测试电子文档WORD、PDF、TXT、excel、markdown 都可以,比如公司休假制度、不涉密的销售说辞、产品知识等等。
这里使用 FastGPT 中文 README 文件为例。
首先我们需要创建一个知识库。
知识库创建完之后我们需要上传一点内容。
上传内容这里有四种模式:
手动输入:手动输入问答对,是最精准的数据 QA 拆分选择文本文件让AI自动生成问答对 直接分段:选择文本文件,直接将其按分段进行处理 CSV 导入:批量导入问答对 这里,我们选择 QA 拆分,让 AI 自动生成问答,若问答质量不高,可以后期手动修改。
点击上传后我们需要等待数据处理完成,直到我们上传的文件状态为可用。
应用 link点击「应用」按钮来新建一个应用这里有四个模板我们选择「知识库 + 对话引导」。
应用创建后来再应用详情页找到「知识库」模块,把我们刚刚创建的知识库添加进去。
添加完知识库后记得点击「保存并预览」,这样我们的应用就和知识库关联起来了。
然后我们就可以愉快的开始聊天啦。</description></item><item><title>AI 相关参数配置说明</title><link>https://doc.tryfastgpt.ai/docs/guide/course/ai_settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/ai_settings/</guid><description>在 FastGPT 的 AI 对话模块中,有一个 AI 高级配置,里面包含了 AI 模型的参数配置,本文详细介绍这些配置的含义。
流响应(高级编排 AI 对话 特有) link旧版名字叫做返回 AI 内容;新版改名:流响应。
这是一个开关,打开的时候,当 AI 对话模块运行时会将其输出的内容返回到浏览器API响应 如果关闭,会强制使用非流模式调用模型,并且 AI 输出的内容不会返回到浏览器但是生成的内容仍可以通过【AI回复】进行输出。你可以将【AI回复】连接到其他模块中进行二次使用。
最大上下文 link代表模型最多容纳的文字数量。
函数调用 link支持函数调用的模型在使用工具时更加准确。
温度 link越低回答越严谨少废话实测下来感觉差别不大
回复上限 link最大回复 token 数量。注意是回复的Tokens不是上下文 tokens。
通常,回复上限=min(模型允许的最大回复上限, 最大上下文-已用上下文)
所以,一般配置模型时,不会把最大上下文配置成模型实际最大上下文,而是预留预定空间给回答,例如 128k 模型,可以配置 max_context=115000
系统提示词 link被放置在上下文数组的最前面role 为 system用于引导模型。
记忆轮数(仅简易模式) link可以配置模型支持的记忆轮数如果模型的超出上下文系统会自动截断尽可能保证不超模型上下文。
所以尽管配置 30 轮对话,实际运行时候,不一定会达到 30 轮。
引用模板 &amp;amp; 引用提示词 link进行知识库搜索后你可以自定义组织检索结果构成的提示词这个配置仅工作流中 AI 对话节点可用。并且,只会在有引用知识库内容时才会生效。
AI 对话消息组成 link想使用明白这两个变量首先要了解传递传递给 AI 模型的消息格式。它是一个数组FastGPT 中这个数组的组成形式为:
[ 内置提示词config.json 配置,一般为空) 系统提示词 (用户输入的提示词) 历史记录 问题(由引用提示词、引用模板和用户问题组成) ] 🍅</description></item><item><title>对话问题引导</title><link>https://doc.tryfastgpt.ai/docs/guide/course/chat_input_guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/chat_input_guide/</guid><description> 什么是自定义问题引导 link你可以为你的应用提前预设一些问题用户在输入时会根据输入的内容动态搜索这些问题作为提示从而引导用户更快的进行提问。
你可以直接在 FastGPT 中配置词库,或者提供自定义词库接口。
自定义词库接口 link需要保证这个接口可以被用户浏览器访问。
请求:
curl --location --request GET &amp;#39;http://localhost:3000/api/core/chat/inputGuide/query?appId=663c75302caf8315b1c00194&amp;amp;searchKey=你&amp;#39; 其中 appId 为应用IDsearchKey 为搜索关键字最多是50个字符。
响应
{ &amp;#34;code&amp;#34;: 200, &amp;#34;statusText&amp;#34;: &amp;#34;&amp;#34;, &amp;#34;message&amp;#34;: &amp;#34;&amp;#34;, &amp;#34;data&amp;#34;: [ &amp;#34;是你&amp;#34;, &amp;#34;你是谁呀&amp;#34;, &amp;#34;你好好呀&amp;#34;, &amp;#34;你好呀&amp;#34;, &amp;#34;你是谁!&amp;#34;, &amp;#34;你好&amp;#34; ] } data是一个数组包含了搜索到的问题最多只需要返回5个问题。
参数说明:
appId - 应用ID searchKey - 搜索关键字</description></item><item><title>知识库集合标签</title><link>https://doc.tryfastgpt.ai/docs/guide/course/collection_tags/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/collection_tags/</guid><description>知识库集合标签是 FastGPT 商业版特有功能。它允许你对知识库中的数据集合添加标签进行分类,更高效地管理知识库数据。
而进一步可以在问答中,搜索知识库时添加集合过滤,实现更精确的搜索。
标签基础操作说明 link在知识库详情页面可以对标签进行管理可执行的操作有
创建标签 修改标签名 删除标签 将一个标签赋给多个数据集合 给一个数据集合添加多个标签 也可以利用标签对数据集合进行筛选
知识库搜索-集合过滤说明 link利用标签可以在知识库搜索时通过填写「集合过滤」这一栏来实现更精确的搜索具体的填写示例如下
{ &amp;#34;tags&amp;#34;: { &amp;#34;$and&amp;#34;: [&amp;#34;标签 1&amp;#34;,&amp;#34;标签 2&amp;#34;], &amp;#34;$or&amp;#34;: [&amp;#34;有 $and 标签时and 生效or 不生效&amp;#34;] }, &amp;#34;createTime&amp;#34;: { &amp;#34;$gte&amp;#34;: &amp;#34;YYYY-MM-DD HH:mm 格式即可,集合的创建时间大于该时间&amp;#34;, &amp;#34;$lte&amp;#34;: &amp;#34;YYYY-MM-DD HH:mm 格式即可,集合的创建时间小于该时间,可和 $gte 共同使用&amp;#34; } } 在填写时有两个注意的点,
标签值可以为 string 类型的标签名,也可以为 null而 null 代表着未设置标签的数据集合 标签过滤有 $and 和 $or 两种条件类型,在同时设置了 $and 和 $or 的情况下,只有 $and 会生效</description></item><item><title>文件输入功能介绍</title><link>https://doc.tryfastgpt.ai/docs/guide/course/fileinput/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/fileinput/</guid><description>从 4.8.9 版本起FastGPT 支持在简易模式和工作流中,配置用户上传文件、图片功能。下面先简单介绍下如何使用文件输入功能,最后是介绍下文件解析的工作原理。
简易模式中使用 link简易模式打开文件上传后会使用工具调用模式也就是由模型自行决策是否需要读取文件内容。
可以找到左侧文件上传的配置项,点击其右侧的开启/关闭按键,即可打开配置弹窗。
随后,你的调试对话框中,就会出现一个文件选择的 icon可以点击文件选择 icon选择你需要上传的文件。
工作模式
从 4.8.13 版本起,简易模式的文件读取将会强制解析文件并放入 system 提示词中,避免连续对话时,模型有时候不会主动调用读取文件的工具。
工作流中使用 link工作流中可以在系统配置中找到文件输入配置项点击其右侧的开启/关闭按键,即可打开配置弹窗。
在工作流中,使用文件的方式很多,最简单的就是类似下图中,直接通过工具调用接入文档解析,实现和简易模式一样的效果。
当然,你也可以在工作流中,对文档进行内容提取、内容分析等,然后将分析的结果传递给 HTTP 或者其他模块,从而实现文件处理的 SOP。
文档解析工作原理 link不同于图片识别LLM 模型目前没有支持直接解析文档的能力,所有的文档“理解”都是通过文档转文字后拼接 prompt 实现。这里通过几个 FAQ 来解释文档解析的工作原理,理解文档解析的原理,可以更好的在工作流中使用文档解析功能。
上传的文件如何存储在数据库中 linkFastGPT 的对话记录存储结构中role=user 的消息value 值会按以下结构存储:
type UserChatItemValueItemType = { type: &amp;#39;text&amp;#39; | &amp;#39;file&amp;#39; text?: { content: string; }; file?: { type: &amp;#39;img&amp;#39; | &amp;#39;doc&amp;#39; name?: string; url: string; }; }; 也就是说,上传的图片和文档,都会以 URL 的形式存储在库中,并不会存储解析后的文档内容。
图片如何处理 link文档解析节点不会处理图片图片链接会被过滤图片识别请直接使用支持图片识别的 LLM 模型。
文档解析节点如何工作 link文档解析依赖文档解析节点这个节点会接收一个array&amp;lt;string&amp;gt;类型的输入,对应的是文件输入的 URL输出的是一个string对应的是文档解析后的内容。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>对话框 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/dialogboxes/</link><description>Recent content in 对话框 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/dialogboxes/index.xml" rel="self" type="application/rss+xml"/><item><title>对话框与HTML渲染</title><link>https://doc.tryfastgpt.ai/docs/guide/dialogboxes/htmlrendering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/dialogboxes/htmlrendering/</guid><description> 源码模式 预览模式 全屏模式 1. 设计背景 link尽管Markdown本身支持嵌入HTML标签但由于安全问题许多平台和环境对HTML的渲染进行了限制特别是在渲染动态内容、交互式元素以及外部资源时。这些限制大大降低了用户在撰写和展示复杂文档时的灵活性尤其是当需要嵌入外部HTML内容时。为了应对这一问题我们通过使用 iframe 来嵌入和渲染HTML内容并结合 sandbox 属性保障了外部HTML的安全渲染。
2. 功能简介 link该功能模块的主要目的是扩展FastGPT在Markdown渲染中的能力支持嵌入和渲染HTML内容。由于是利用 Iframe 渲染所以无法确认内容的高度FastGPT 中会给 Iframe 设置一个固定高度来进行渲染。并且不支持 HTML 中执行 js 脚本。
3. 技术实现 link本模块通过以下方式实现了HTML渲染和互动功能
组件设计:该模块通过渲染 iframe 类型的代码块展示HTML内容。使用自定义的 IframeBlock 组件,结合 sandbox 属性来保障嵌入内容的安全性。sandbox 限制了外部HTML中的行为如禁用脚本执行、限制表单提交等确保HTML内容的安全性。通过辅助函数与渲染Markdown内容的部分结合处理 iframe 嵌入的HTML内容。 安全机制:通过 iframe 的 sandbox 属性和 referrerPolicy 来防止潜在的安全风险。sandbox 属性提供了细粒度的控制允许特定的功能如脚本、表单、弹出窗口等在受限的环境中执行以确保渲染的HTML内容不会对系统造成威胁。 展示与互动功能用户可以通过不同的展示模式如全屏、预览、源代码模式自由切换以便更灵活地查看和控制嵌入的HTML内容。嵌入的 iframe 自适应父容器的宽度,同时保证 iframe嵌入的内容能够适当显示。 4. 如何使用 link你只需要通过 Markdown 代码块格式,并标记语言为 html 即可。例如:
```html &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&amp;#34;zh-CN&amp;#34;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&amp;#34;UTF-8&amp;#34;&amp;gt; &amp;lt;meta name=&amp;#34;viewport&amp;#34; content=&amp;#34;width=device-width, initial-scale=1.0&amp;#34;&amp;gt; &amp;lt;meta http-equiv=&amp;#34;X-UA-Compatible&amp;#34; content=&amp;#34;ie=edge&amp;#34;&amp;gt; &amp;lt;title&amp;gt;欢迎使用FastGPT&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;nav&amp;gt; &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#home&amp;#34;&amp;gt;首页&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#about&amp;#34;&amp;gt;关于我们&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#contact&amp;#34;&amp;gt;联系我们&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;#gallery&amp;#34;&amp;gt;图库&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt; &amp;lt;/nav&amp;gt; &amp;lt;/body&amp;gt; &amp;lt;/html&amp;gt;</description></item><item><title>知识库引用分块阅读器</title><link>https://doc.tryfastgpt.ai/docs/guide/dialogboxes/quotelist/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/dialogboxes/quotelist/</guid><description>在企业 AI 应用落地过程中文档知识引用的精确性和透明度一直是用户关注的焦点。FastGPT 4.9.1 版本带来的知识库分块阅读器,巧妙解决了这一痛点,让 AI 引用不再是&amp;quot;黑盒&amp;quot;。
为什么需要分块阅读器? link传统的 AI 对话中,当模型引用企业知识库内容时,用户往往只能看到被引用的片段,无法获取完整语境,这给内容验证和深入理解带来了挑战。分块阅读器的出现,让用户可以在对话中直接查看引用内容的完整文档,并精确定位到引用位置,实现了引用的&amp;quot;可解释性&amp;quot;。
传统引用体验的局限 link以往在知识库中上传文稿后当我们在工作流中输入问题时传统的引用方式只会展示引用到的分块无法确认分块在文章中的上下文
问题 引用 FastGPT 分块阅读器:精准定位,无缝阅读 link而在 FastGPT 全新的分块式阅读器中,同样的知识库内容和问题,呈现方式发生了质的飞跃
当 AI 引用知识库内容时,用户只需点击引用链接,即可打开一个浮窗,呈现完整的原文内容,并通过醒目的高亮标记精确显示引用的文本片段。这既保证了回答的可溯源性,又提供了便捷的原文查阅体验。
核心功能 link全文展示与定位 link&amp;ldquo;分块阅读器&amp;rdquo; 让用户能直观查看AI回答引用的知识来源。
在对话界面中,当 AI 引用了知识库内容,系统会在回复下方展示出处信息。用户只需点击这些引用链接,即可打开一个优雅的浮窗,呈现完整的原文内容,并通过醒目的高亮标记精确显示 AI 引用的文本片段。
这一设计既保证了回答的可溯源性又提供了便捷的原文查阅体验让用户能轻松验证AI回答的准确性和相关上下文。
便捷引用导航 link分块阅读器右上角设计了简洁实用的导航控制用户可以通过这对按钮轻松在多个引用间切换浏览。导航区还直观显示当前查看的引用序号及总引用数量&amp;ldquo;7/10&amp;rdquo;),帮助用户随时了解浏览进度和引用内容的整体规模。
引用质量评分 link每条引用内容旁边都配有智能评分标签直观展示该引用在所有知识片段中的相关性排名。用户只需将鼠标悬停在评分标签上即可查看完整的评分详情了解这段引用内容为何被AI选中以及其相关性的具体构成。
文档内容一键导出 link分块阅读器贴心配备了内容导出功能让有效信息不再流失。只要用户拥有相应知识库的阅读权限便可通过简单点击将引用涉及的全文直接保存到本地设备。
进阶特性 link灵活的可见度控制 linkFastGPT提供灵活的引用可见度设置让知识共享既开放又安全。以免登录链接为例管理员可精确控制外部访问者能看到的信息范围。
当设置为&amp;quot;仅引用内容可见&amp;quot;时,外部用户点击引用链接将只能查看 AI 引用的特定文本片段,而非完整原文档。如图所示,分块阅读器此时智能调整显示模式,仅呈现相关引用内容。
即时标注优化 link在浏览过程中授权用户可以直接对引用内容进行即时标注和修正系统会智能处理这些更新而不打断当前的对话体验。所有修改过的内容会通过醒目的&amp;quot;已更新&amp;quot;标签清晰标识,既保证了引用的准确性,又维持了对话历史的完整性。
这一无缝的知识优化流程特别适合团队协作场景让知识库能在实际使用过程中持续进化确保AI回答始终基于最新、最准确的信息源。
智能文档性能优化 link面对现实业务中可能包含成千上万分块的超长文档FastGPT采用了先进的性能优化策略确保分块阅读器始终保持流畅响应。
系统根据引用相关性排序和数据库索引进行智能加载管理,实现了&amp;quot;按需渲染&amp;quot;机制——根据索引排序和数据库 id只有当用户实际需要查看的内容才会被加载到内存中。这意味着无论是快速跳转到特定引用还是自然滚动浏览文档都能获得丝滑的用户体验不会因为文档体积庞大而出现卡顿或延迟。
这一技术优化使FastGPT能够轻松应对企业级的大规模知识库场景让即使是包含海量信息的专业文档也能高效展示和查阅。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

51
docs/guide/index.html Normal file

File diff suppressed because one or more lines are too long

1
docs/guide/index.xml Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>功能介绍 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/</link><description>Recent content in 功能介绍 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>知识库 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/</link><description>Recent content in 知识库 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/knowledge_base/index.xml" rel="self" type="application/rss+xml"/><item><title>知识库基础原理介绍</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/rag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/rag/</guid><description>RAG文档
1. 引言 link随着自然语言处理NLP技术的迅猛发展生成式语言模型如GPT、BART等在多种文本生成任务中表现卓越尤其在语言生成和上下文理解方面。然而纯生成模型在处理事实类任务时存在一些固有的局限性。例如由于这些模型依赖于固定的预训练数据它们在回答需要最新或实时信息的问题时可能会出现“编造”信息的现象导致生成结果不准确或缺乏事实依据。此外生成模型在面对长尾问题和复杂推理任务时常因缺乏特定领域的外部知识支持而表现不佳难以提供足够的深度和准确性。
与此同时检索模型Retriever能够通过在海量文档中快速找到相关信息解决事实查询的问题。然而传统检索模型如BM25在面对模糊查询或跨域问题时往往只能返回孤立的结果无法生成连贯的自然语言回答。由于缺乏上下文推理能力检索模型生成的答案通常不够连贯和完整。
为了解决这两类模型的不足检索增强生成模型Retrieval-Augmented GenerationRAG应运而生。RAG通过结合生成模型和检索模型的优势实时从外部知识库中获取相关信息并将其融入生成任务中确保生成的文本既具备上下文连贯性又包含准确的知识。这种混合架构在智能问答、信息检索与推理、以及领域特定的内容生成等场景中表现尤为出色。
1.1 RAG的定义 linkRAG是一种将信息检索与生成模型相结合的混合架构。首先检索器从外部知识库或文档集中获取与用户查询相关的内容片段然后生成器基于这些检索到的内容生成自然语言输出确保生成的内容既信息丰富又具备高度的相关性和准确性。
2. RAG模型的核心机制 linkRAG 模型由两个主要模块构成检索器Retriever与生成器Generator。这两个模块相互配合确保生成的文本既包含外部的相关知识又具备自然流畅的语言表达。
2.1 检索器Retriever link检索器的主要任务是从一个外部知识库或文档集中获取与输入查询最相关的内容。在RAG中常用的技术包括
向量检索如BERT向量等它通过将文档和查询转化为向量空间中的表示并使用相似度计算来进行匹配。向量检索的优势在于能够更好地捕捉语义相似性而不仅仅是依赖于词汇匹配。 传统检索算法如BM25主要基于词频和逆文档频率TF-IDF的加权搜索模型来对文档进行排序和检索。BM25适用于处理较为简单的匹配任务尤其是当查询和文档中的关键词有直接匹配时。 RAG中检索器的作用是为生成器提供一个上下文背景使生成器能够基于这些检索到的文档片段生成更为相关的答案。
2.2 生成器Generator link生成器负责生成最终的自然语言输出。在RAG系统中常用的生成器包括
BARTBART是一种序列到序列的生成模型专注于文本生成任务可以通过不同层次的噪声处理来提升生成的质量 。 GPT系列GPT是一个典型的预训练语言模型擅长生成流畅自然的文本。它通过大规模数据训练能够生成相对准确的回答尤其在任务-生成任务中表现尤为突出 。 生成器在接收来自检索器的文档片段后,会利用这些片段作为上下文,并结合输入的查询,生成相关且自然的文本回答。这确保了模型的生成结果不仅仅基于已有的知识,还能够结合外部最新的信息。
2.3 RAG的工作流程 linkRAG模型的工作流程可以总结为以下几个步骤
输入查询:用户输入问题,系统将其转化为向量表示。 文档检索检索器从知识库中提取与查询最相关的文档片段通常使用向量检索技术或BM25等传统技术进行。 生成答案:生成器接收检索器提供的片段,并基于这些片段生成自然语言答案。生成器不仅基于原始的用户查询,还会利用检索到的片段提供更加丰富、上下文相关的答案。 输出结果:生成的答案反馈给用户,这个过程确保了用户能够获得基于最新和相关信息的准确回答。 3. RAG模型的工作原理 link3.1 检索阶段 link在RAG模型中用户的查询首先被转化为向量表示然后在知识库中执行向量检索。通常检索器采用诸如BERT等预训练模型生成查询和文档片段的向量表示并通过相似度计算如余弦相似度匹配最相关的文档片段。RAG的检索器不仅仅依赖简单的关键词匹配而是采用语义级别的向量表示从而在面对复杂问题或模糊查询时能够更加准确地找到相关知识。这一步骤对于最终生成的回答至关重要因为检索的效率和质量直接决定了生成器可利用的上下文信息 。
3.2 生成阶段 link生成阶段是RAG模型的核心部分生成器负责基于检索到的内容生成连贯且自然的文本回答。RAG中的生成器如BART或GPT等模型结合用户输入的查询和检索到的文档片段生成更加精准且丰富的答案。与传统生成模型相比RAG的生成器不仅能够生成语言流畅的回答还可以根据外部知识库中的实际信息提供更具事实依据的内容从而提高了生成的准确性 。
3.3 多轮交互与反馈机制 linkRAG模型在对话系统中能够有效支持多轮交互。每一轮的查询和生成结果会作为下一轮的输入系统通过分析和学习用户的反馈逐步优化后续查询的上下文。通过这种循环反馈机制RAG能够更好地调整其检索和生成策略使得在多轮对话中生成的答案越来越符合用户的期望。此外多轮交互还增强了RAG在复杂对话场景中的适应性使其能够处理跨多轮的知识整合和复杂推理 。
4. RAG的优势与局限 link4.1 优势 link 信息完整性RAG 模型结合了检索与生成技术使得生成的文本不仅语言自然流畅还能够准确利用外部知识库提供的实时信息。这种方法能够显著提升生成任务的准确性特别是在知识密集型场景下如医疗问答或法律意见生成。通过从知识库中检索相关文档RAG 模型避免了生成模型“编造”信息的风险,确保输出更具真实性 。 知识推理能力RAG 能够利用大规模的外部知识库进行高效检索并结合这些真实数据进行推理生成基于事实的答案。相比传统生成模型RAG 能处理更为复杂的任务特别是涉及跨领域或跨文档的推理任务。例如法律领域的复杂判例推理或金融领域的分析报告生成都可以通过RAG的推理能力得到优化 。 领域适应性强RAG 具有良好的跨领域适应性能够根据不同领域的知识库进行特定领域内的高效检索和生成。例如在医疗、法律、金融等需要实时更新和高度准确性的领域RAG 模型的表现优于仅依赖预训练的生成模型 。 4.2 局限 linkRAG检索增强生成模型通过结合检索器和生成器实现了在多种任务中知识密集型内容生成的突破性进展。然而尽管其具有较强的应用潜力和跨领域适应能力但在实际应用中仍然面临着一些关键局限限制了其在大规模系统中的部署和优化。以下是RAG模型的几个主要局限性
4.2.1 检索器的依赖性与质量问题 linkRAG模型的性能很大程度上取决于检索器返回的文档质量。由于生成器主要依赖检索器提供的上下文信息如果检索到的文档片段不相关、不准确生成的文本可能出现偏差甚至产生误导性的结果。尤其在多模糊查询或跨领域检索的情况下检索器可能无法找到合适的片段这将直接影响生成内容的连贯性和准确性。</description></item><item><title>知识库搜索方案和参数</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/dataset_engine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/dataset_engine/</guid><description>理解向量 linkFastGPT 采用了 RAG 中的 Embedding 方案构建知识库,要使用好 FastGPT 需要简单的理解Embedding向量是如何工作的及其特点。
人类的文字、图片、视频等媒介是无法直接被计算机理解的,要想让计算机理解两段文字是否有相似性、相关性,通常需要将它们转成计算机可以理解的语言,向量是其中的一种方式。
向量可以简单理解为一个数字数组,两个向量之间可以通过数学公式得出一个距离,距离越小代表两个向量的相似度越大。从而映射到文字、图片、视频等媒介上,可以用来判断两个媒介之间的相似度。向量搜索便是利用了这个原理。
而由于文字是有多种类型并且拥有成千上万种组合方式因此在转成向量进行相似度匹配时很难保障其精确性。在向量方案构建的知识库中通常使用topk召回的方式也就是查找前k个最相似的内容丢给大模型去做更进一步的语义判断、逻辑推理和归纳总结从而实现知识库问答。因此在知识库问答中向量搜索的环节是最为重要的。
影响向量搜索精度的因素非常多,主要包括:向量模型的质量、数据的质量(长度,完整性,多样性)、检索器的精度(速度与精度之间的取舍)。与数据质量对应的就是检索词的质量。
检索器的精度比较容易解决,向量模型的训练略复杂,因此数据和检索词质量优化成了一个重要的环节。
提高向量搜索精度的方法 link 更好分词分段:当一段话的结构和语义是完整的,并且是单一的,精度也会提高。因此,许多系统都会优化分词器,尽可能的保障每组数据的完整性。 精简index的内容减少向量内容的长度当index的内容更少更准确时检索精度自然会提高。但与此同时会牺牲一定的检索范围适合答案较为严格的场景。 丰富index的数量可以为同一个chunk内容增加多组index。 优化检索词:在实际使用过程中,用户的问题通常是模糊的或是缺失的,并不一定是完整清晰的问题。因此优化用户的问题(检索词)很大程度上也可以提高精度。 微调向量模型:由于市面上直接使用的向量模型都是通用型模型,在特定领域的检索精度并不高,因此微调向量模型可以很大程度上提高专业领域的检索效果。 FastGPT 构建知识库方案 link数据存储结构 link在 FastGPT 中,整个知识库由库、集合和数据 3 部分组成。集合可以简单理解为一个文件。一个库中可以包含多个集合,一个集合中可以包含多组数据。最小的搜索单位是库,也就是说,知识库搜索时,是对整个库进行搜索,而集合仅是为了对数据进行分类管理,与搜索效果无关。(起码目前还是)
向量存储结构 linkFastGPT 采用了PostgresSQL的PG Vector插件作为向量检索器索引为HNSW。且PostgresSQL仅用于向量检索该引擎可以替换成其它数据库MongoDB用于其他数据的存取。
在MongoDB的dataset.datas表中会存储向量原数据的信息同时有一个indexes字段会记录其对应的向量ID这是一个数组也就是说一组数据可以对应多个向量。
在PostgresSQL的表中设置一个vector字段用于存储向量。在检索时会先召回向量再根据向量的ID去MongoDB中寻找原数据内容如果对应了同一组原数据则进行合并向量得分取最高得分。
多向量的目的和使用方式 link在一组向量中内容的长度和语义的丰富度通常是矛盾的无法兼得。因此FastGPT 采用了多向量映射的方式,将一组数据映射到多组向量中,从而保障数据的完整性和语义的丰富度。
你可以为一组较长的文本,添加多组向量,从而在检索时,只要其中一组向量被检索到,该数据也将被召回。
意味着,你可以通过标注数据块的方式,不断提高数据块的精度。
检索方案 link 通过问题优化实现指代消除和问题扩展,从而增加连续对话的检索能力以及语义丰富度。 通过Concat query来增加Rerank连续对话的时排序的准确性。 通过RRF合并方式综合多个渠道的检索效果。 通过Rerank来二次排序提高精度。 搜索参数 link 搜索模式 link语义检索 link语义检索是通过向量距离计算用户问题与知识库内容的距离从而得出“相似度”当然这并不是语文上的相似度而是数学上的。
优点:
相近语义理解 跨多语言理解(例如输入中文问题匹配英文知识点) 多模态理解(文本,图片,音视频等) 缺点:
依赖模型训练效果 精度不稳定 受关键词和句子完整度影响 全文检索 link采用传统的全文检索方式。适合查找关键的主谓语等。
混合检索 link同时使用向量检索和全文检索并通过 RRF 公式进行两个搜索结果合并,一般情况下搜索结果会更加丰富准确。
由于混合检索后的查找范围很大,并且无法直接进行相似度过滤,通常需要进行利用重排模型进行一次结果重新排序,并利用重排的得分进行过滤。
结果重排 link利用ReRank模型对搜索结果进行重排绝大多数情况下可以有效提高搜索结果的准确率。不过重排模型与问题的完整度主谓语齐全有一些关系通常会先走问题优化后再进行搜索-重排。重排后可以得到一个0-1的得分代表着搜索内容与问题的相关度该分数通常比向量的得分更加精确可以根据得分进行过滤。
FastGPT 会使用 RRF 对重排结果、向量搜索结果、全文检索结果进行合并,得到最终的搜索结果。</description></item><item><title>API 文件库</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/api_dataset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/api_dataset/</guid><description>背景 link目前 FastGPT 支持本地文件导入,但是很多时候,用户自身已经有了一套文档库,如果把文件重复导入一遍,会造成二次存储,并且不方便管理。因为 FastGPT 提供了一个 API 文件库的概念,可以通过简单的 API 接口,去拉取已有的文档库,并且可以灵活配置是否导入。
API 文件库能够让用户轻松对接已有的文档库,只需要按照 FastGPT 的 API 文件库规范,提供相应文件接口,然后将服务接口的 baseURL 和 token 填入知识库创建参数中,就能直接在页面上拿到文件库的内容,并选择性导入
如何使用 API 文件库 link创建知识库时选择 API 文件库类型,然后需要配置两个关键参数:文件服务接口的 baseURL 和用于身份验证的请求头信息。只要提供的接口规范符合 FastGPT 的要求,系统就能自动获取并展示完整的文件列表,可以根据需要选择性地将文件导入到知识库中。
你需要提供两个参数:
baseURL: 文件服务接口的 baseURL authorization: 用于身份验证的请求头信息,实际请求格式为 Authorization: Bearer &amp;lt;token&amp;gt; 接口规范 link接口响应格式
type ResponseType = { success: boolean; message: string; data: any; } 数据类型:
// 文件列表中,单项的文件类型 type FileListItem = { id: string; parentId: string | null; name: string; type: &amp;#39;file&amp;#39; | &amp;#39;folder&amp;#39;; updateTime: Date; createTime: Date; } 1.</description></item><item><title>飞书知识库</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/lark_dataset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/lark_dataset/</guid><description>FastGPT v4.8.16 版本开始,商业版用户支持飞书知识库导入,用户可以通过配置飞书应用的 appId 和 appSecret并选中一个文档空间的顶层文件夹来导入飞书知识库。目前处于测试阶段部分交互有待优化。
由于飞书限制,无法直接获取所有文档内容,目前仅可以获取共享空间下文件目录的内容,无法获取个人空间和知识库里的内容。
1. 创建飞书应用 link打开 飞书开放平台,点击创建应用,选择自建应用,然后填写应用名称。
2. 配置应用权限 link创建应用后进入应用可以配置相关权限这里需要增加3个权限
获取云空间文件夹下的云文档清单 查看新版文档 查看、评论、编辑和管理云空间中所有文件 3. 获取 appId 和 appSecret link 4. 给 Folder 增加权限 link可参考飞书教程 https://open.feishu.cn/document/server-docs/docs/drive-v1/faq#b02e5bfb
大致总结为:
把刚刚创建的应用拉入一个群里 给这个群增加目录权限 如果你的目录已经给全员组增加权限了,则可以跳过上面步骤,直接获取 Folder Token。
5. 获取 Folder Token link可以页面路径上获取 Folder Token注意不要把问号复制进来。
6. 创建知识库 link根据 3 和 5 获取到的 3 个参数,创建知识库,选择飞书文件库类型,然后填入对应的参数,点击创建。</description></item><item><title>语雀文件库</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/yuque_dataset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/yuque_dataset/</guid><description>FastGPT v4.8.16 版本开始,商业版用户支持语雀文件库导入,用户可以通过配置语雀的 token 和 uid 来导入语雀文档库。目前处于测试阶段,部分交互有待优化。
1. 获取语雀的 token 和 uid link在语雀首页 - 个人头像 - 设置,可找到对应参数。
参考下图获取 Token 和 User ID注意给 Token 赋值权限:
获取 Token 增加权限 获取 User ID 2. 创建知识库 link使用上一步获取的 token 和 uid创建知识库选择语雀文件库类型然后填入对应的参数点击创建。
3. 导入文档 link创建完知识库后点击添加文件即可导入语雀的文档库跟随引导即可。
语雀知识库支持定时同步功能,每天会不定时的扫描一次,如果文档有更新,则会进行同步,也可以进行手动同步。</description></item><item><title>Web 站点同步</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/websync/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/websync/</guid><description>该功能目前仅向商业版用户开放。
什么是 Web 站点同步 linkWeb 站点同步利用爬虫的技术可以通过一个入口网站自动捕获同域名下的所有网站目前最多支持200个子页面。出于合规与安全角度FastGPT 仅支持静态站点的爬取,主要用于各个文档站点快速构建知识库。
Tips: 国内的媒体站点基本不可用公众号、csdn、知乎等。可以通过终端发送curl请求检测是否为静态站点例如
curl https://doc.tryfastgpt.ai/docs/intro/ 如何使用 link1. 新建知识库,选择 Web 站点同步 link 2. 点击配置站点信息 link 3. 填写网址和选择器 link 好了, 现在点击开始同步,静等系统自动抓取网站信息即可。
创建应用,绑定知识库 link 选择器如何使用 link选择器是 HTML CSS JS 的产物,你可以通过选择器来定位到你需要抓取的具体内容,而不是整个站点。使用方式为:
首先打开浏览器调试面板(通常是 F12或者【右键 - 检查】) link 输入对应元素的选择器 link菜鸟教程 css 选择器,具体选择器的使用方式可以参考菜鸟教程。
上图中我们选中了一个区域对应的是div标签它有 data-prismjs-copy, data-prismjs-copy-success, data-prismjs-copy-error 三个属性,这里我们用到一个就够。所以选择器是: div[data-prismjs-copy]
除了属性选择器常见的还有类和ID选择器。例如
上图 class 里的是类名(可能包含多个类名,都是空格隔开的,选择一个即可),选择器可以为:.docs-content
多选择器使用 link在开头的演示中我们对 FastGPT 文档是使用了多选择器的方式来选择,通过逗号隔开了两个选择器。
我们希望选中上图两个标签中的内容,此时就需要两组选择器。一组是:.docs-content .mb-0.d-flex含义是 docs-content 类下同时包含 mb-0和d-flex 两个类的子元素;
另一组是.docs-content div[data-prismjs-copy]含义是docs-content 类下包含data-prismjs-copy属性的div元素。
把两组选择器用逗号隔开即可:.docs-content .mb-0.d-flex, .docs-content div[data-prismjs-copy]</description></item><item><title>外部文件知识库</title><link>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/externalfile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/knowledge_base/externalfile/</guid><description>外部文件库是 FastGPT 商业版特有功能。它允许接入你现在的文件系统,无需将文件再导入一份到 FastGPT 中。
并且,阅读权限可以通过你的文件系统进行控制。
导入参数说明 link 外部预览地址用于跳转你的文件阅读地址会携带“文件阅读ID”进行访问。 文件访问URL文件可访问的地址。 文件阅读ID通常情况下文件访问URL是临时的。如果希望永久可以访问你需要使用该文件阅读ID并配合上“外部预览地址”跳转至新的阅读地址进行原文件访问。 文件名默认会自动解析文件访问URL上的文件名。如果你手动填写将会以手动填写的值为准。 点击查看API导入文档
API 文件库替代方案 link4.8.15 提供了新的知识库类型 - API 文件库,对外部文件知识库做了进一步的拓展
通过对接口进行简单的调整,就能使用 API 文件库代替外部文件知识库的功能
你可以直接将外部文件知识库中的外部预览地址,作为 API 文件库接口规范中获取文件阅读链接的接口返回
然后再以相同的 baseURL 实现获取文件列表和获取单个文件内容这两个接口
这样就能轻松地使用 API 文件库替代原有的外部文件知识库,更多详细的内容见 API 文件库的文档</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>系统插件 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/</link><description>Recent content in 系统插件 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/plugins/index.xml" rel="self" type="application/rss+xml"/><item><title>如何提交系统插件</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/how_to_submit_system_plugin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/plugins/how_to_submit_system_plugin/</guid><description>如何向 FastGPT 社区提交系统插件
系统插件原则 link 尽可能的轻量简洁,以解决实际问题的工具为主 不允许有密集 cpu 计算,不会占用大量内存占用或网络消耗 不允许操作数据库 不允许往固定的私人地址发送请求(不包含请求某些在线服务,例如 gapier, firecrawl等) 不允许使用私人包,可使用主流的开源包 什么插件可以合并 link由于目前未采用按需安装的模式合并进仓库的插件会全部展示给用户使用。
为了控制插件的质量以及避免数量过多带来的繁琐,并不是所有的插件都会被合并到开源仓库中,你可以提前 PR 与我们沟通插件的内容。
后续实现插件按需安装后,我们会允许更多的社区插件合入。
如何写一个系统插件 - 初步 linkFastGPT 系统插件和用户工作台的插件效果是一致的,所以你需要提前了解“插件”的定义和功能。
在 FastGPT 中,插件是一种特殊的工作流,它允许你将一个工作流封装起来,并自定义入口参数和出口参数,类似于代码里的 “子函数”。
跑通 FastGPT dev 环境 link 需要在 dev 环境下执行下面的操作。
在 FastGPT 工作台中,创建一个插件 link 选择基础模板即可。
创建系统插件配置 link 系统插件配置以及自定义代码,都会在 packages/plugins 目录下。
在 packages/plugins/src 下,复制一份 template 目录,并修改名字。 打开目录里面的 template.json 文件,配置如下: 目录还有一个 index.ts 文件,下文再提。 { &amp;#34;author&amp;#34;: &amp;#34;填写你的名字&amp;#34;, &amp;#34;version&amp;#34;: &amp;#34;当前系统版本号&amp;#34;, &amp;#34;name&amp;#34;: &amp;#34;插件名&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;插件头像,需要配成 icon 格式。直接把 logo 图在 pr 评论区提交即可,我们会帮你加入。&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34; 插件的描述,这个描述会影响工具调用&amp;#34;, &amp;#34;showStatus&amp;#34;: false, // 是否在对话过程展示状态 &amp;#34;weight&amp;#34;: 10, // 排序权重,均默认 10 &amp;#34;isTool&amp;#34;: true, // 是否作为工具调用节点 &amp;#34;templateType&amp;#34;: &amp;#34;tools&amp;#34;, // 都填写 tools 即可,由官方来分类 &amp;#34;workflow&amp;#34;: { // 这个对象先不管,待会直接粘贴导出的工作流即可 &amp;#34;nodes&amp;#34;: [], &amp;#34;edges&amp;#34;: [] } } 打开 packages/plugins/register 文件,注册你的插件。在 list 数组中,加入一个你插件目录的名字,如下图的例子。如需构建插件组(带目录),可参考 DuckDuckGo 插件。 无需额外写代码的插件,直接放在 staticPluginList 内,需要在项目内额外写代码的,写在 packagePluginList 中。</description></item><item><title>SearXNG 搜索插件配置与使用说明</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/searxng_plugin_guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/plugins/searxng_plugin_guide/</guid><description>SearXNG是一款免费的互联网元搜索引擎它汇总了来自各种搜索服务和数据库的结果。它不会跟踪或分析用户。用户可以自行部署它进行使用。本文介绍 Searxng 的部署以及接入 FastGPT 插件。
1. 部署应用 link这里介绍在 Sealos 中部署 SearXNG 的方法。Docker 部署,可以直接参考 SearXNG 官方教程。
点击打开 Sealos 北京区,点击应用部署,并新建一个应用:
打开应用部署 点击新建应用 2. 部署配置 link把下面参数填入配置中
镜像名: searxng/searxng:latest CPU: 0.2 内存: 512M 容器暴露端口: 8080 开启公网访问 点击高级配置,填写环境变量和配置文件 环境变量
填下面两个内容,主要是为了减小并发,不然内存占用非常大。
UWSGI_WORKERS=4 UWSGI_THREADS=4 配置文件
新增一个配置文件,文件名:/etc/searx/settings.yml 文件内容:
general: debug: false instance_name: &amp;#34;searxng&amp;#34; privacypolicy_url: false donation_url: false contact_url: false enable_metrics: true open_metrics: &amp;#39;&amp;#39; brand: new_issue_url: https://github.com/searxng/searxng/issues/new docs_url: https://docs.searxng.org/ public_instances: https://searx.space wiki_url: https://github.com/searxng/searxng/wiki issue_url: https://github.com/searxng/searxng/issues search: safe_search: 0 autocomplete: &amp;#34;&amp;#34; autocomplete_min: 4 default_lang: &amp;#34;auto&amp;#34; ban_time_on_fail: 5 max_ban_time_on_fail: 120 formats: - html server: port: 8080 bind_address: &amp;#34;0.</description></item><item><title>Google 搜索插件填写说明</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/google_search_plugin_guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/plugins/google_search_plugin_guide/</guid><description>创建Google Custom Search Engine link https://programmablesearchengine.google.com/
我们连到Custom Search Engine control panel 建立Search Engine
取得搜索引擎的ID即cx
获取api key link https://developers.google.com/custom-search/v1/overview?hl=zh-cn
填入插件输入参数 link 将搜索引擎ID填入cx字段api key填入key字段</description></item><item><title>Bing 搜索插件填写说明</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/bing_search_plugin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/plugins/bing_search_plugin/</guid><description> 打开微软Azure官网登陆账号 link https://portal.azure.com/
创建bing web搜索资源 link 搜索Bing Search v7点击创建
https://portal.azure.com/#create/Microsoft.BingSearch
进入资源详情点击管理密钥 link 4. 复制任意一个密钥填入插件输入 link</description></item><item><title>Doc2x 插件填写说明</title><link>https://doc.tryfastgpt.ai/docs/guide/plugins/doc2x_plugin_guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/plugins/doc2x_plugin_guide/</guid><description>打开docx官网创建账号并复制 apikey link https://doc2x.noedgeai.com/
填写apikey到fastgpt中 link 工作流****中:
简易模式使用:</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>团队与权限 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/</link><description>Recent content in 团队与权限 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/team_permissions/index.xml" rel="self" type="application/rss+xml"/><item><title>团队&amp;成员组&amp;权限</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</guid><description/></item><item><title>邀请链接说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</guid><description>v4.9.1 团队邀请成员将开始使用「邀请链接」的模式,弃用之前输入用户名进行添加的形式。
在版本升级后,原收到邀请还未加入团队的成员,将自动清除邀请。请使用邀请链接重新邀请成员。
如何使用 link 在团队管理页面,管理员可点击「邀请成员」按钮打开邀请成员弹窗 在邀请成员弹窗中,点击「创建邀请链接」按钮,创建邀请链接。 输入对应内容 链接描述:建议将链接描述为使用场景或用途。链接创建后不支持修改噢。
有效期30分钟7天1年
有效人数1人无限制
点击复制链接,并将其发送给想要邀请的人。 用户访问链接后,如果未登录/未注册,则先跳转到登录页面进行登录。在登录后将进入团队页面,处理邀请。 邀请链接形如fastgpt.cn/account/team?invitelinkid=xxxx
点击接受,则用户将加入团队
点击忽略,则关闭弹窗,用户下次访问该邀请链接则还可以选择加入。
链接失效和自动清理 link链接失效原因 link手动停用链接
邀请链接到达有效期,自动停用
有效人数为1人的链接已有1人通过邀请链接加入团队。
停用的链接无法访问,也无法再次启用。
链接上限 link一个用户最多可以同时存在 10 个有效的邀请链接。
链接自动清理 link失效的链接将在 30 天后自动清理。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>工作台 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/</link><description>Recent content in 工作台 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/workbench/index.xml" rel="self" type="application/rss+xml"/><item><title>简易模式</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/basic-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/basic-mode/</guid><description/></item><item><title>工作流&amp;插件</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/intro/</guid><description>FastGPT 从 V4 版本开始采用新的交互方式来构建 AI 应用。使用了 Flow 节点编排(工作流)的方式来实现复杂工作流,提高可玩性和扩展性。但同时也提高了上手的门槛,有一定开发背景的用户使用起来会比较容易。
查看视频教程
什么是节点? link在程序中节点可以理解为一个个 Function 或者接口。可以理解为它就是一个步骤。将多个节点一个个拼接起来,即可一步步的去实现最终的 AI 输出。
如下图,这是一个最简单的 AI 对话。它由用流程开始和 AI 对话节点组成。
执行流程如下:
用户输入问题后,【流程开始】节点执行,用户问题被保存。 【AI 对话】节点执行,此节点有两个必填参数“聊天记录” “用户问题”聊天记录的值是默认输入的6条表示此模块上下文长度。用户问题选择的是【流程开始】模块中保存的用户问题。 【AI 对话】节点根据传入的聊天记录和用户问题,调用对话接口,从而实现回答。 节点分类 link从功能上节点可以分为 2 类:
系统节点:用户引导(配置一些对话框信息)、用户问题(流程入口)。 功能节点知识库搜索、AI 对话等剩余节点。(这些节点都有输入和输出,可以自由组合)。 节点的组成 link每个节点会包含 3 个核心部分:输入、输出和触发器。
AI模型、提示词、聊天记录、用户问题知识库引用为输入节点的输入可以是手动输入也可以是变量引用变量引用的范围包括“全局变量”和之前任意一个节点的输出。 新的上下文和AI回复内容为输出输出可以被之后任意节点变量引用。 节点的上下左右有四个“触发器”可以被用来连接,被连接的节点按顺序决定是否执行。 重点 - 工作流是如何运行的 linkFastGPT的工作流从【流程开始】节点开始执行可以理解为从用户输入问题开始没有固定的出口是以节点运行结束作为出口如果在一个轮调用中所有节点都不再运行则工作流结束。
下面我们来看下,工作流是如何运行的,以及每个节点何时被触发执行。
如上图所示节点会“被连接”也会“连接其他节点”我们称“被连接”的那根线为前置线“连接其他节点的线”为后置线。上图例子中【知识库搜索】模块左侧有一根前置线右侧有一根后置线。而【AI对话】节点只有左侧一根前置线。
FastGPT工作流中的线有以下几种状态
waiting被连接的节点等待执行。 active被连接的节点可以执行。 skip被连接的节点不需要执行跳过。 节点执行的原则:
判断前置线中有没有状态为 waiting 的,如果有则等待。 判断前置线中状态有没有状态为 active 如果有则执行。 如果前置线中状态即没有 waiting 也没有 active 则认为此节点需要跳过。 节点执行完毕后需要根据实际情况更改后置线的状态为active或skip并且更改前置线状态为waiting等待下一轮执行。 让我们看一下上面例子的执行过程:
【流程开始】节点执行完毕更改后置线为active。 【知识库搜索】节点判断前置线状态为active开始执行执行完毕后更改后置线状态为active 前置线状态为waiting。 【AI对话】节点判断前置线状态为active开始执行流程执行结束。 如何连接节点 link 为了方便连接FastGPT 每个节点的上下左右都有连接点,左和上是前置线连接点,右和下是后置线连接点。 可以点击连接线中间的 x 来删除连接线。 可以左键点击选中连接线 如何阅读? link 建议从左往右阅读。 从 用户问题 节点开始。用户问题节点,代表的是用户发送了一段文本,触发任务开始。 关注【AI 对话】和【指定回复】节点,这两个节点是输出答案的地方。 FAQ link想合并多个输出结果怎么实现 link 文本加工,可以对字符串进行合并。 知识库搜索合并,可以合并多个知识库搜索结果 其他结果无法直接合并可以考虑传入到HTTP节点中进行合并使用[Laf](https://laf.</description></item><item><title>使用 Gapier 快速导入Agent工具</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/gapier/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/gapier/</guid><description>FastGPT V4.7版本加入了工具调用,可以兼容 GPTs 的 Actions。这意味着你可以直接导入兼容 GPTs 的 Agent 工具。
Gapier 是一个在线 GPTs Actions工具提供了50多种现成工具并且每天有免费额度进行测试方便用户试用官方地址为https://gapier.com/。
现在,我们开始把 Gapier 的工具导入到 FastGPT 中。
1. 创建插件 link Step1 Step2 Step3 登录Gapier 复制相关参数 Step4 Step5 Step6 自定义请求头: Authorization
请求值: Bearer 复制的key 创建完后,如果需要变更,无需重新创建,只需要修改对应参数即可,会自动做差值比较更新。
2. 应用绑定工具 link简易模式 link Step1 Step2 Step3 Step4 高级编排 link Step1 Step2 Step3 Step4 3. 工具调用说明 link不同模型的区别 link不同模型调用工具采用不同的方法有些模型支持 toolChoice 和 functionCall 效果会更好。不支持这两种方式的模型通过提示词调用但是效果不是很好并且为了保证顺利调用FastGPT内置的提示词仅支持每次调用一个工具。
具体哪些模型支持 functionCall 可以官网查看当然也需要OneAPI支持同时需要调整模型配置文件中的对应字段详细看配置字段说明
线上版用户,可以在模型选择时,看到是否支持函数调用的标识。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>工作流节点 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/</link><description>Recent content in 工作流节点 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 对话</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/ai_chat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/ai_chat/</guid><description>特点 link 可重复添加 触发执行 核心模块 参数说明 linkAI模型 link可以通过 config.json 配置可选的对话模型,通过 one-api 来实现多模型接入。
点击AI模型后可以配置模型的相关参数。
🍅
具体配置参数介绍可以参考: AI参数配置说明</description></item><item><title>知识库搜索</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/dataset_search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/dataset_search/</guid><description>知识库搜索具体参数说明以及内部逻辑请移步FastGPT知识库搜索方案
特点 link 可重复添加(复杂编排时防止线太乱,可以更美观) 有外部输入 有静态配置 触发执行 核心模块 参数说明 link输入 - 关联的知识库 link可以选择一个或多个相同向量模型的知识库用于向量搜索。
输入 - 搜索参数 link点击查看参数介绍
输出 - 引用内容 link以数组格式输出引用长度可以为 0。意味着即使没有搜索到内容这个输出链路也会走通。</description></item><item><title>工具调用&amp;终止</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/tool/</guid><description> 什么是工具 link工具可以是一个系统模块例如AI对话、知识库搜索、HTTP模块等。也可以是一个插件。
工具调用可以让 LLM 更动态的决策流程而不都是固定的流程。当然缺点就是费tokens
工具的组成 link 工具介绍。通常是模块的介绍或插件的介绍这个介绍会告诉LLM这个工具的作用是什么。 工具参数。对于系统模块来说,工具参数已经是固定的,无需额外配置。对于插件来说,工具参数是一个可配置项。 工具是如何运行的 link要了解工具如何运行的首先需要知道它的运行条件。
需要工具的介绍或者叫描述。这个介绍会告诉LLM这个工具的作用是什么LLM会根据上下文语义决定是否需要调用这个工具。 工具的参数。有些工具调用时可能需要一些特殊的参数。参数中有2个关键的值参数介绍和是否必须。 结合工具的介绍、参数介绍和参数是否必须LLM会决定是否调用这个工具。有以下几种情况
无参数的工具:直接根据工具介绍,决定是否需要执行。例如:获取当前时间。 有参数的工具: 无必须的参数尽管上下文中没有适合的参数也可以调用该工具。但有时候LLM会自己伪造一个参数。 有必须的参数如果没有适合的参数LLM可能不会调用该工具。可以通过提示词引导用户提供参数。 工具调用逻辑 link在支持函数调用的模型中可以一次性调用多个工具调用逻辑如下
怎么用 link 高级编排中,拖动工具调用的连接点,可用的工具头部会出现一个菱形,可以将它与工具调用模块底部的菱形相连接。
被连接的工具,会自动分离工具输入与普通的输入,并且可以编辑介绍,可以通过调整介绍,使得该工具调用时机更加精确。
关于工具调用,如何调试仍然是一个玄学,所以建议,不要一次性增加太多工具,选择少量工具调优后再进一步尝试。
用途 link默认情况下工具调用节点在决定调用工具后会将工具运行的结果返回给AI让 AI 对工具运行的结果进行总结输出。有时候,如果你不需要 AI 进行进一步的总结输出,可以使用该节点,将其接入对于工具流程的末尾。
如下图,在执行知识库搜索后,发送给了 HTTP 请求,搜索将不会返回搜索的结果给工具调用进行 AI 总结。
附加节点 link当您使用了工具调用节点同时就会出现工具调用终止节点和自定义变量节点能够进一步提升工具调用的使用体验。
工具调用终止 link工具调用终止可用于结束本次调用即可以接在某个工具后面当工作流执行到这个节点时便会强制结束本次工具调用不再调用其他工具也不会再调用 AI 针对工具调用结果回答问题。
自定义工具变量 link自定义变量可以扩展工具的变量输入即对于一些未被视作工具参数或无法工具调用的节点可以自定义工具变量填上对应的参数描述那么工具调用便会相对应的调用这个节点进而调用其之后的工作流。
相关示例 link 谷歌搜索 发送飞书webhook</description></item><item><title>问题分类</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/question_classify/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/question_classify/</guid><description>特点 link 可重复添加 有外部输入 需要手动配置 触发执行 function_call 模块 功能 link可以将用户的问题进行分类分类后执行不同操作。在一些较模糊的场景中分类效果不是很明显。
参数说明 link系统提示词 link被放置在对话最前面可用于补充说明分类内容的定义。例如问题会被分为
打招呼 Laf 常见问题 其他问题 由于 Laf 不是一个明确的东西,需要给它一个定义,此时提示词里可以填入 Laf 的定义:
Laf 是云开发平台,可以快速的开发应用 Laf 是一个开源的 BaaS 开发平台Backend as a Service) Laf 是一个开箱即用的 serverless 开发平台 Laf 是一个集「函数计算」、「数据库」、「对象存储」等于一身的一站式开发平台 Laf 可以是开源版的腾讯云开发、开源版的 Google Firebase、开源版的 UniCloud 聊天记录 link适当增加一些聊天记录可以联系上下文进行分类。
用户问题 link用户输入的内容。
分类内容 link依然以这 3 个分类为例,可以看到最终组成的 Function。其中返回值由系统随机生成不需要关心。
打招呼 Laf 常见问题 其他问题 const agentFunction = { name: agentFunName, description: &amp;#39;判断用户问题的类型属于哪方面,返回对应的枚举字段&amp;#39;, parameters: { type: &amp;#39;object&amp;#39;, properties: { type: { type: &amp;#39;string&amp;#39;, description: `打招呼,返回: abcLaf 常见问题返回vvv其他问题返回aaa` enum: [&amp;#34;abc&amp;#34;,&amp;#34;vvv&amp;#34;,&amp;#34;aaa&amp;#34;] } }, required: [&amp;#39;type&amp;#39;] } }; 上面的 Function 必然会返回 type = abcvvvaaa 其中一个值,从而实现分类判断。</description></item><item><title>文本内容提取</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/content_extract/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/content_extract/</guid><description>特点 link 可重复添加 需要手动配置 触发执行 function_call 模块 核心模块 功能 link从文本中提取结构化数据通常是配合 HTTP 模块实现扩展。也可以做一些直接提取操作,例如:翻译。
参数说明 link提取要求描述 link顾名思义给模型设置一个目标需要提取哪些内容。
示例 1
你是实验室预约助手,从对话中提取出姓名,预约时间,实验室号。当前时间 {{cTime}}
示例 2
你是谷歌搜索助手,从对话中提取出搜索关键词
示例 3
将我的问题直接翻译成英文,不要回答问题
历史记录 link通常需要一些历史记录才能更完整的提取用户问题。例如上图中需要提供姓名、时间和实验室名用户可能一开始只给了时间和实验室名没有提供自己的姓名。再经过一轮缺失提示后用户输入了姓名此时需要结合上一次的记录才能完整的提取出 3 个内容。
目标字段 link目标字段与提取的结果相对应从上图可以看到每增加一个字段输出会增加一个对应的出口。
key: 字段的唯一标识,不可重复! 字段描述:描述该字段是关于什么的,例如:姓名、时间、搜索词等等。 必须:是否强制模型提取该字段,可能提取出来是空字符串。 输出介绍 link 完整提取结果: 一个 JSON 字符串,包含所有字段的提取结果。 目标字段提取结果:类型均为字符串。</description></item><item><title>用户选择</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/user-selection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/user-selection/</guid><description>特点 link 用户交互 可重复添加 触发执行 功能 link「用户选择」节点属于用户交互节点当触发这个节点时对话会进入“交互”状态会记录工作流的状态等用户完成交互后继续向下执行工作流
比如上图中的例子,当触发用户选择节点时,对话框隐藏,对话进入“交互状态”
当用户做出选择时,节点会判断用户的选择,执行“是”的分支
作用 link基础的用法为提出需要用户做抉择的问题然后根据用户的反馈设计不同的工作流流程</description></item><item><title>表单输入</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/form_input/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/form_input/</guid><description>特点 link 用户交互 可重复添加 触发执行 功能 link「表单输入」节点属于用户交互节点当触发这个节点时对话会进入“交互”状态会记录工作流的状态等用户完成交互后继续向下执行工作流
比如上图中的例子,当触发表单输入节点时,对话框隐藏,对话进入“交互状态”
当用户填完必填的信息并点击提交后,节点能够收集用户填写的表单信息,传递到后续的节点中使用
作用 link能够精准收集需要的用户信息再根据用户信息进行后续操作</description></item><item><title>文本拼接</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/text_editor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/text_editor/</guid><description>特点 link 可重复添加 有外部输入 触发执行 手动配置 功能 link对输入文本进行固定加工处理入参仅支持字符串和数字格式入参以变量形式使用在文本编辑区域。
根据上方示例图的处理方式,对任何输入都会在前面拼接“用户的问题是:”。
作用 link给任意模块输入自定格式文本或处理 AI 模块系统提示词。
示例 link 接入谷歌搜索</description></item><item><title>指定回复</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/reply/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/reply/</guid><description>特点 link 可重复添加(防止复杂编排时线太乱,重复添加可以更美观) 可手动输入 可外部输入 会输出结果给客户端 指定回复模块通常用户特殊状态回复,回复内容有两种:
一种是手动输入固定内容。 一种是通过变量引用。 图 1</description></item><item><title>文档解析</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/document_parsing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/document_parsing/</guid><description> 开启文件上传后,可使用文档解析组件。
功能 link作用 link</description></item><item><title>HTTP 请求</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/http/</guid><description>特点 link 可重复添加 手动配置 触发执行 核中核模块 介绍 linkHTTP 模块会向对应的地址发送一个 HTTP 请求,实际操作与 Postman 和 ApiFox 这类直流工具使用差不多。
Params 为路径请求参数GET请求中用的居多。 Body 为请求体POST/PUT请求中用的居多。 Headers 为请求头,用于传递一些特殊的信息。 自定义变量中可以接收前方节点的输出作为变量 3 种数据中均可以通过 {{}} 来引用变量。 url 也可以通过 {{}} 来引用变量。 变量来自于全局变量、系统变量、前方节点输出 参数结构 link系统变量说明 link你可以将鼠标放置在请求参数旁边的问号中里面会提示你可用的变量。
appId: 应用的ID chatId: 当前对话的ID测试模式下不存在。 responseChatItemId: 当前对话中响应的消息ID测试模式下不存在。 variables: 当前对话的全局变量。 cTime: 当前时间。 histories: 历史记录默认最多取10条无法修改长度 Params, Headers link不多描述使用方法和Postman, ApiFox 基本一致。
可通过 {{key}} 来引入变量。例如:
key value appId {{appId}} Authorization Bearer {{token}} Body link只有特定请求类型下会生效。
可以写一个自定义的 Json并通过 {{key}} 来引入变量。例如:
假设有一组变量 Http 模块中的Body声明 最终得到的解析 { &amp;#34;string&amp;#34;: &amp;#34;字符串&amp;#34;, &amp;#34;number&amp;#34;: 123, &amp;#34;boolean&amp;#34;: true, &amp;#34;array&amp;#34;: [1, 2, 3], &amp;#34;obj&amp;#34;: { &amp;#34;name&amp;#34;: &amp;#34;FastGPT&amp;#34;, &amp;#34;url&amp;#34;: &amp;#34;https://tryfastgpt.</description></item><item><title>判断器</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/tfswitch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/tfswitch/</guid><description>特点 link 可重复添加 有外部输入 触发执行 功能 link对任意变量进行IF判断若满足条件则执行IF分支不满足条件执行ELSE分支。
上述例子中若「知识库引用」变量的长度等于0则执行IF分支否则执行ELSE分支。
支持增加更多的判断条件和分支同编程语言中的IF语句逻辑相同。
作用 link适用场景有让大模型做判断后输出固定内容根据大模型回复内容判断是否触发后续模块。</description></item><item><title>变量更新</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/variable_update/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/variable_update/</guid><description>特点 link 可重复添加 有外部输入 触发执行 手动配置 功能 link 更新指定节点的输出值 更新全局变量 作用 link最基础的使用场景为
给一个「自定义变量」类型的全局变量赋值,从而实现全局变量无需用户输入 更新「变量更新」节点前的工作流节点输出,在后续使用中,使用的节点输出值为新的输出</description></item><item><title>代码运行</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/sandbox/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/sandbox/</guid><description>功能 link可用于执行一段简单的 js 代码用于进行一些复杂的数据处理。代码运行在沙盒中无法进行网络请求、dom和异步操作。如需复杂操作需外挂 HTTP 实现。
注意事项
私有化用户需要部署fastgpt-sandbox 镜像并配置SANDBOX_URL环境变量。 沙盒最大运行 10s 32M 内存限制。 变量输入 link可在自定义输入中添加代码运行需要的变量在代码的 main 函数中,可解构出相同名字的变量。
如上图,自定义输入中有 data1 和 data2 两个变量main 函数中可以解构出相同名字的变量。
结果输出 link务必返回一个 object 对象
自定义输出中,可以添加变量名来获取 object 对应 key 下的值。例如上图中,返回了一个对象:
{ result: data1, data2 } 他有 2 个 keyresult和 data2(js 缩写key=data2value=data2)。这时候自定义输出中就可以添加 2 个变量来获取对应 key 下的 value。
内置 JS 全局变量 linkdelay 延迟 link延迟 1 秒后返回
async function main({data1, data2}){ await delay(1000) return { result: &amp;#34;111&amp;#34; } } countToken 统计 token link function main({input}){ return { result: countToken(input) } } strToBase64 字符串转 base64(4.</description></item><item><title>批量运行</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/loop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/loop/</guid><description>节点概述 link【批量运行】节点是 FastGPT V4.8.11 版本新增的一个重要功能模块。它允许工作流对数组类型的输入数据进行迭代处理,每次处理数组中的一个元素,并自动执行后续节点,直到完成整个数组的处理。
这个节点的设计灵感来自编程语言中的循环结构,但以可视化的方式呈现。
在程序中,节点可以理解为一个个 Function 或者接口。可以理解为它就是一个步骤。将多个节点一个个拼接起来,即可一步步的去实现最终的 AI 输出。
【批量运行】节点本质上也是一个 Function它的主要职责是自动化地重复执行特定的工作流程。
核心特性 link 数组批量处理
支持输入数组类型数据 自动遍历数组元素 保持处理顺序 支持并行处理 (性能优化) 自动迭代执行
自动触发后续节点 支持条件终止 支持循环计数 维护执行上下文 与其他节点协同
支持与 AI 对话节点配合 支持与 HTTP 节点配合 支持与内容提取节点配合 支持与判断器节点配合 应用场景 link【批量运行】节点的主要作用是通过自动化的方式扩展工作流的处理能力使 FastGPT 能够更好地处理批量任务和复杂的数据处理流程。特别是在处理大规模数据或需要多轮迭代的场景下,批量运行节点能显著提升工作流的效率和自动化程度。
【批量运行】节点特别适合以下场景:
批量数据处理
批量翻译文本 批量总结文档 批量生成内容 数据流水线处理
对搜索结果逐条分析 对知识库检索结果逐条处理 对 HTTP 请求返回的数组数据逐项处理 递归或迭代任务
长文本分段处理 多轮优化内容 链式数据处理 使用方法 link输入参数设置 link【批量运行】节点需要配置两个核心输入参数
数组 (必填):接收一个数组类型的输入,可以是:
字符串数组 (Array&amp;lt;string&amp;gt;) 数字数组 (Array&amp;lt;number&amp;gt;) 布尔数组 (Array&amp;lt;boolean&amp;gt;) 对象数组 (Array&amp;lt;object&amp;gt;) 循环体 (必填):定义每次循环需要执行的节点流程,包含:
循环体开始:标记循环开始的位置。 循环体结束:标记循环结束的位置,并可选择输出结果变量。 循环体配置 link 在循环体内部,可以添加任意类型的节点,如:</description></item><item><title>知识库搜索引用合并</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/knowledge_base_search_merge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/knowledge_base_search_merge/</guid><description> 作用 link将多个知识库搜索结果合并成一个结果进行输出并会通过 RRF 进行重新排序(根据排名情况),并且支持最大 tokens 过滤。
使用方法 linkAI对话只能接收一个知识库引用内容。因此如果调用了多个知识库无法直接引用所有知识库如下图
使用知识库搜索引用合并,可以把多个知识库的搜索结果合在一起。
可用例子: link 经过问题分类后对不同知识库进行检索,然后统一给一个 AI 进行回答,此时可以用到合并,不需要每个分支都添加一个 AI 对话。</description></item><item><title>问题优化</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/coreferenceresolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/coreferenceresolution/</guid><description>特点 link 可重复添加 有外部输入 触发执行 背景 link在 RAG 中,我们需要根据输入的问题去数据库里执行 embedding 搜索,查找相关的内容,从而查找到相似的内容(简称知识库搜索)。
在搜索的过程中,尤其是连续对话的搜索,我们通常会发现后续的问题难以搜索到合适的内容,其中一个原因是知识库搜索只会使用“当前”的问题去执行。看下面的例子:
用户在提问“第二点是什么”的时候只会去知识库里查找“第二点是什么”压根查不到内容。实际上需要查询的是“QA结构是什么”。因此我们需要引入一个【问题优化】模块来对用户当前的问题进行补全从而使得知识库搜索能够搜索到合适的内容。使用补全后效果如下
功能 link调用 AI 去对用户当前的问题进行补全。目前主要是补全“指代”词,使得检索词更加的完善可靠,从而增强上下文连续对话的知识库搜索能力。
遇到最大的难题在于:模型对于【补全】的概念可能不清晰,且对于长上下文往往无法准确的知道应该如何补全。
示例 link 接入谷歌搜索</description></item><item><title>Laf 函数调用</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/laf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/laf/</guid><description>介绍 linkLaf 函数调用模块可以调用 Laf 账号下的云函数,其工作原理与 HTTP 模块相同,有以下特殊特征:
只能使用 POST 请求 请求自带系统参数 systemParams无需通过变量传递。 绑定 Laf 账号 link要调用 Laf 云函数,首先需要绑定 Laf 账号和应用,并且在应用中创建云函数。
Laf 提供了 PAT(访问凭证) 来实现 Laf 平台外的快捷登录,可以访问 Laf 文档查看详细如何获取 PAT。
在获取到 PAT 后,我们可以进入 FastGPT 的账号页或是在高级编排中的 Laf模块 对 Laf 账号进行绑定。Laf 账号是团队共享的,仅团队管理员可配置。
填入 PAT 验证后,选择需要绑定的应用(应用需要是 Running 状态),即可调用该应用下的云函数。
编写云函数 linkLaf 云函数拥有根据 interface 自动生成 OpenAPI 的能力,可以参照下面的代码编写云函数,以便自动生成 OpenAPI 文档。
Laf模块可以根据 OpenAPI 文档,自动识别出入参,无需手动添加数据类型。如果不会写 TS可忽略手动在 FastGPT 中添加参数即可。
import cloud from &amp;#39;@lafjs/cloud&amp;#39; interface IRequestBody { // 自定义入参FastGPT 传入的均为POST请求。 data1: string // 必填参数 data2?</description></item><item><title>自定义反馈</title><link>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/custom_feedback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/workbench/workflow/custom_feedback/</guid><description>该模块为临时模块,后续会针对该模块进行更全面的设计。
特点 link 可重复添加 无外部输入 自动执行 介绍 link自定义反馈模块可以为你的对话增加一个反馈标记从而方便在后台更好的分析对话的数据。
在调试模式下,不会记录反馈内容,而是直接提示: 自动反馈测试: 反馈内容。
在对话模式(对话、分享窗口、带 chatId 的 API 调用会将反馈内容记录到对话日志中。会延迟60s记录
作用 link自定义反馈模块的功能类似于程序开发的埋点便于你观测的对话中的数据。</description></item></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long