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

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,63 @@
<?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/use-cases/app-cases/</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/use-cases/app-cases/index.xml" rel="self" type="application/rss+xml"/><item><title>如何提交应用模板</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/submit_application_template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/submit_application_template/</guid><description>什么模板可以合并 link目前合并进仓库的应用模板会在「模板市场」中全部展示给用户。
为了控制模板的质量以及避免数量过多带来的繁琐,并不是所有的模板都会被合并到开源仓库中,你可以提前 PR 与我们沟通模板的内容。
预估最后总体的数量不会很多,控制在 50 个左右,一半来自 FastGPT Team一半来自社区用户。
如何写一个应用模板 link 跑通 FastGPT dev 环境 link 需要在 dev 环境下执行下面的操作。
可参照 FastGPT快速开始本地开发
在 FastGPT 工作台中,创建一个应用 link 创建空白工作流即可。
创建应用模板 link 应用模板配置以及相关资源,都会在 packages/templates/src 目录下。
在packages/templates/src 目录下,创建一个文件夹,名称为模板对应的 id。 在刚刚创建的文件夹中,再创建一个 template.json 文件,复制粘贴并填写如下配置: { &amp;#34;name&amp;#34;: &amp;#34;模板名&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34;模板描述,会展示在模板市场的展示页&amp;#34;, &amp;#34;author&amp;#34;: &amp;#34;填写你的名字&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;模板头像,可以将图片文件放在同一个文件夹中,然后填写相应路径&amp;#34;, &amp;#34;tags&amp;#34;: [&amp;#34;模板标签&amp;#34;], // writing(文本创作)image-generation(图片生成)web-search(联网搜索), // roleplay(角色扮演), office-services(办公服务) 暂时分为 5 类,从中选择相应的标签 &amp;#34;type&amp;#34;: &amp;#34;模板类别&amp;#34;, // simple(简易应用), advanced(工作流), plugin(插件) &amp;#34;workflow&amp;#34;: { // 这个对象先不管,待会直接粘贴导出的工作流即可 &amp;#34;nodes&amp;#34;: [], &amp;#34;edges&amp;#34;: [], &amp;#34;chatConfig&amp;#34;: {} } } 完成应用编排并测试 link 完成应用编排后,可以点击右上角的发布。</description></item><item><title>长字幕翻译</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/translate-subtitle-using-gpt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/translate-subtitle-using-gpt/</guid><description>直接使用 LLM 来翻译长字幕会遇到很多难点,这些难点也正是直接使用 AI 无法有效处理的问题:
Tokens 限制:这是最明显的障碍。大语言模型 (LLM) 通常有输出 tokens 的限制,这意味着对于长文本,如果不使用特殊的工作流,可能需要手动将文本分段,逐段输入 AI 进行翻译,然后再手动拼接结果。这个过程不仅繁琐,还容易出错。
字幕格式的保持对于字幕来说时间轴信息至关重要。然而AI 模型有时会产生 “幻觉”,即无中生有地修改或生成不存在的信息。在字幕翻译中,这可能导致 AI 错误地修改时间轴,使字幕与音频不同步。
翻译质量:简单的机器翻译往往无法满足观众的需求。即使是大语言模型,单轮翻译的质量也常常不尽如人意。对于字幕来说,翻译质量直接影响观看体验,糟糕的翻译会严重影响观众的沉浸感。
本案例将展示如何利用 FastGPT 工作流代码结合 LLM 来有效解决这些问题。我们的方法不仅能克服技术限制,还能显著提升翻译质量。
提取字幕信息 link工作流的一大优势在于可以结合额外的操作使 AI 能更精准地处理信息。在字幕翻译中,我们可以先分离 SRT 字幕文件的各个组成部分,然后只让 LLM 翻译文本部分。这种方法既节约了 token 使用,又确保了时间轴信息不被误改。
具体实现如下:
使用代码执行模块,对输入的原始字幕文本进行解析。 将字幕信息分类为三部分:时间信息、序号信息和文本信息。 只保留文本信息用于后续的 AI 翻译。 这种预处理步骤大大提高了整个翻译过程的效率和准确性。
切分文本 link为了进一步优化翻译过程我们需要将提取出的文本信息重新组织。这一步的目的是将文本分割成适合 LLM 处理的大小,同时保持上下文的连贯性。
在本例中,我们采用以下策略:
将文本按照每 40 句为一组进行切分。这个数字是经过多次测试后得出的平衡点,既能保证翻译质量,又不会超出 LLM 的处理能力。 使用 标签分割每句文本。这种标记方法便于后续的重新组装,同时也为 AI 模型提供了清晰的句子边界。 这种切分方法既考虑了 AI 模型的能力限制,又保证了翻译的连贯性。通过保持适当的上下文,我们可以得到更加准确和自然的翻译结果。
格式化原文本 link在这一步我们构建了最终输入给 LLM 的原文本。这个步骤的关键在于如何在控制 tokens 数量的同时,为 AI 提供足够的上下文信息。我们采用了以下策略:
传入所有文本作为背景上下文。这确保 AI 能理解整段对话的语境。 使用&amp;lt;TRANSLATE_THIS&amp;gt;标签明确指出当前需要翻译的片段。这种方法既能控制 AI 的输出范围,又不会丢失整体语境。 这种格式化方法使得 AI 能在理解全局的基础上,专注于翻译特定部分,从而提高翻译的准确性和连贯性。</description></item><item><title>多轮翻译机器人</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/multi_turn_translation_bot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/multi_turn_translation_bot/</guid><description>吴恩达老师提出了一种反思翻译的大语言模型(LLM)翻译工作流程——GitHub - andrewyng/translation-agent具体工作流程如下
提示一个 LLM 将文本从 source_language 翻译到 target_language 让 LLM 反思翻译结果并提出建设性的改进建议; 使用这些建议来改进翻译。 这个翻译流程应该是目前比较新的一种翻译方式,利用 LLM 对自己的翻译结果进行改进来获得较好的翻译效果
项目中展示了可以利用对长文本进行分片,然后分别进行反思翻译处理,以突破 LLM 对 tokens 数量的限制,真正实现长文本一键高效率高质量翻译。
项目还通过给大模型限定国家地区,已实现更精确的翻译,如美式英语、英式英语之分;同时提出一些可能能带来更好效果的优化,如对于一些 LLM 未曾训练到的术语(或有多种翻译方式的术语)建立术语表,进一步提升翻译的精确度等等
而这一切都能通过 Fastgpt 工作流轻松实现,本文将手把手教你如何复刻吴恩达老师的 translation-agent
单文本块反思翻译 link先从简单的开始即不超出 LLM tokens 数量限制的单文本块翻译
初始翻译 link第一步先让 LLM 对源文本块进行初始翻译(翻译的提示词在源项目中都有)
通过文本拼接模块引用 源语言、目标语言、源文本这三个参数,生成提示词,传给 LLM让它给出第一版的翻译
反思 link然后让 LLM 对第一步生成的初始翻译给出修改建议,称之为 反思
这时的提示词接收 5 个参数,源文本、初始翻译、源语言、目标语言 以及限定词地区国家,这样 LLM 会对前面生成的翻译提出相当多的修改建议,为后续的提升翻译作准备
提升翻译 link 在前文生成了初始翻译以及相应的反思后,将这二者输入给第三次 LLM 翻译,这样我们就能获得一个比较高质量的翻译结果
完整的工作流如下
运行效果 link由于考虑之后对这个反思翻译的复用所以创建了一个插件那么在下面我直接调用这个插件就能使用反思翻译效果如下
随机挑选了一段哈利波特的文段
可以看到反思翻译后的效果还是好上不少的,其中反思的输出如下
长文反思翻译 link在掌握了对短文本块的反思翻译后我们能轻松的通过分片和循环实现对长文本也即多文本块的反思翻译
整体的逻辑是,首先对传入文本的 tokens数量做判断如果不超过设置的 tokens 限制,那么直接调用单文本块反思翻译,如果超过设置的 tokens限制那么切割为合理的大小再分别进行对应的反思翻译处理
计算 tokens link 首先,我使用了 Laf函数 模块来实现对输入文本的 tokens 的计算</description></item><item><title>英语作文纠错机器人</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/english_essay_correction_bot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/english_essay_correction_bot/</guid><description>FastGPT 提供了一种基于 LLM Model 搭建应用的简便方式。
本文通过搭建一个英语作文纠错机器人,介绍一下如何使用 工作流
搭建过程 link1. 创建工作流 link 可以从 多轮翻译机器人 开始创建。
多轮翻译机器人是 @米开朗基杨 同学创建的,同样也是一个值得学习的工作流。
2. 获取输入,使用大模型进行分析 link我们期望让大模型处理文字返回一个结构化的数据由我们自己处理。
提示词 是最重要的一个参数,这里提供的提示词仅供参考:
## 角色 资深英语写作专家 ## 任务 对输入的原文进行分析。 找出其中的各种错误, 包括但不限于单词拼写错误、 语法错误等。 注意: 忽略标点符号前后空格的问题。 注意: 对于存在错误的句子, 提出修改建议是指指出这个句子中的具体部分, 然后提出将这一个部分修改替换为什么。 ## 输出格式 不要使用 Markdown 语法, 输入 JSON 格式的内容。 输出的&amp;#34;reason&amp;#34;的内容使用中文。 直接输出一个列表, 其成员为一个相同类型的对象, 定义如下 您正在找回 FastGPT 账号 ``` { “raw”: string; // 表示原文 “reason”: string; // 表示原因 “suggestion”: string; // 修改建议 } ``` 可以在模型选择的窗口中设置禁用 AI 回复。</description></item><item><title>固定开头和结尾内容</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/fixingevidence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/fixingevidence/</guid><description>如上图,可以通过指定回复编排一个固定的开头和结尾内容。
模块编排 link复制下面配置点击「高级编排」右上角的导入按键导入该配置。
编排配置 { &amp;#34;nodes&amp;#34;: [ { &amp;#34;nodeId&amp;#34;: &amp;#34;7z5g5h&amp;#34;, &amp;#34;name&amp;#34;: &amp;#34;流程开始&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34;&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;/imgs/workflow/userChatInput.svg&amp;#34;, &amp;#34;flowNodeType&amp;#34;: &amp;#34;workflowStart&amp;#34;, &amp;#34;position&amp;#34;: { &amp;#34;x&amp;#34;: -269.50851681351924, &amp;#34;y&amp;#34;: 1657.6123698022448 }, &amp;#34;inputs&amp;#34;: [ { &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;renderTypeList&amp;#34;: [ &amp;#34;reference&amp;#34;, &amp;#34;textarea&amp;#34; ], &amp;#34;valueType&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;问题输入&amp;#34;, &amp;#34;required&amp;#34;: true, &amp;#34;toolDescription&amp;#34;: &amp;#34;用户问题&amp;#34;, &amp;#34;type&amp;#34;: &amp;#34;systemInput&amp;#34;, &amp;#34;showTargetInApp&amp;#34;: false, &amp;#34;showTargetInPlugin&amp;#34;: false, &amp;#34;connected&amp;#34;: false, &amp;#34;selectedTypeIndex&amp;#34;: 0, &amp;#34;value&amp;#34;: [ &amp;#34;7z5g5h&amp;#34;, &amp;#34;userChatInput&amp;#34; ] } ], &amp;#34;outputs&amp;#34;: [ { &amp;#34;id&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;type&amp;#34;: &amp;#34;static&amp;#34;, &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;valueType&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;core.</description></item><item><title>实验室预约</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/lab_appointment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/lab_appointment/</guid><description>本示例演示了利用工具调用,自动选择调用知识库搜索实验室相关内容,或调用 HTTP 模块实现数据库的 CRUD 操作。
以一个实验室预约为例,用户可以通过对话系统预约、取消、修改预约和查询预约记录。
1. 全局变量使用 link通过设计一个全局变量让用户输入姓名模拟用户身份信息。实际使用过程中通常是直接通过嵌入 Token 来标记用户身份。
2. 工具调用 link 背景知识中,引导模型调用工具去执行不通的操作。
🤗
Tips: 这里需要增加适当的上下文,方便模型结合历史纪录进行判断和决策~
3. HTTP 模块 link HTTP模块中需要设置 3 个工具参数:
预约行为:可取 get, put, post, delete 四个值分别对应查询、修改、新增、删除操作。当然你也可以写4个HTTP模块来分别处理。 labname: 实验室名。非必填,因为查询和删除时候,不需要。 time: 预约时间。 总结 link 工具调用模块是非常强大的功能,可以在一定程度上替代问题分类和内容提取。 通过工具模块,动态的调用不同的工具,可以将复杂业务解耦。 附件 link编排配置 link可直接复制导入到 FastGPT 中。
编排配置 { &amp;#34;nodes&amp;#34;: [ { &amp;#34;nodeId&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;name&amp;#34;: &amp;#34;流程开始&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34;当用户发送一个内容后,流程将会从这个模块开始执行。&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;/imgs/workflow/userChatInput.svg&amp;#34;, &amp;#34;flowNodeType&amp;#34;: &amp;#34;workflowStart&amp;#34;, &amp;#34;position&amp;#34;: { &amp;#34;x&amp;#34;: 309.7143912167367, &amp;#34;y&amp;#34;: 1501.2761754220846 }, &amp;#34;inputs&amp;#34;: [ { &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;renderTypeList&amp;#34;: [ &amp;#34;reference&amp;#34;, &amp;#34;textarea&amp;#34; ], &amp;#34;valueType&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;问题输入&amp;#34;, &amp;#34;required&amp;#34;: true, &amp;#34;toolDescription&amp;#34;: &amp;#34;用户问题&amp;#34;, &amp;#34;type&amp;#34;: &amp;#34;systemInput&amp;#34;, &amp;#34;showTargetInApp&amp;#34;: false, &amp;#34;showTargetInPlugin&amp;#34;: false, &amp;#34;connected&amp;#34;: false, &amp;#34;selectedTypeIndex&amp;#34;: 0, &amp;#34;value&amp;#34;: [ &amp;#34;userChatInput&amp;#34;, &amp;#34;userChatInput&amp;#34; ] } ], &amp;#34;outputs&amp;#34;: [ { &amp;#34;id&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;type&amp;#34;: &amp;#34;static&amp;#34;, &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;valueType&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;core.</description></item><item><title>Dalle3 绘图</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/dalle3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/dalle3/</guid><description>OpenAI Dalle3 接口 link先来看下官方接口的参数和响应值
Body
{ &amp;#34;model&amp;#34;: &amp;#34;dall-e-3&amp;#34;, &amp;#34;prompt&amp;#34;: &amp;#34;A cute baby sea otter&amp;#34;, &amp;#34;n&amp;#34;: 1, &amp;#34;size&amp;#34;: &amp;#34;1024x1024&amp;#34; } Response
{ &amp;#34;created&amp;#34;: 1589478378, &amp;#34;data&amp;#34;: [ { &amp;#34;url&amp;#34;: &amp;#34;https://...&amp;#34; }, { &amp;#34;url&amp;#34;: &amp;#34;https://...&amp;#34; } ] } 编排思路 link 通过 AI 来优化图片绘制的提示词(这步省略了,自己找提示词即可) 通过 【HTTP 请求】模块 调用 Dalle3 接口,获取图片的 URL。 通过 【文本加工】模块 来构建 Markdown 的图片格式。 通过 【指定回复】模块 来直接输出图片链接。 1. 构建 HTTP 模块 link请求参数直接复制 Dalle3 接口的即可,并求改 prompt 为变量。需要增加一个 Headers.Authorization 。
Body:
{ &amp;#34;model&amp;#34;: &amp;#34;dall-e-3&amp;#34;, &amp;#34;prompt&amp;#34;: &amp;#34;{{prompt}}&amp;#34;, &amp;#34;n&amp;#34;: 1, &amp;#34;size&amp;#34;: &amp;#34;1024x1024&amp;#34; } Headers:</description></item><item><title>接入谷歌搜索</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/google_search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/google_search/</guid><description>工具调用模式 工具调用模式 非工具调用模式 非工具调用模式 如上图利用「HTTP请求」模块你可以外接一个搜索引擎作为 AI 回复的参考资料。这里以调用 Google Search API 为例。注意:本文主要是为了介绍 「HTTP请求」模块具体的搜索效果需要依赖提示词和搜索引擎尤其是【搜索引擎】简单的搜索引擎无法获取更详细的内容这部分可能需要更多的调试。
注册 Google Search API link参考这篇文章每天可以免费使用 100 次。
写一个 Google Search 接口 link这里用 Laf 快速实现一个接口,即写即发布,无需部署。务必打开 POST 请求方式。
Laf 谷歌搜索Demo import cloud from &amp;#39;@lafjs/cloud&amp;#39; const googleSearchKey = &amp;#34;xxx&amp;#34; const googleCxId = &amp;#34;3740cxxx&amp;#34; const baseurl = &amp;#34;https://www.googleapis.com/customsearch/v1&amp;#34; type RequestType = { searchKey: string } export default async function (ctx: FunctionContext) { const { searchKey } = ctx.body as RequestType console.log(ctx.body) if (!</description></item><item><title>发送飞书webhook通知</title><link>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/feishu_webhook/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/app-cases/feishu_webhook/</guid><description>该文章展示如何发送一个简单的飞书webhook通知以此类推发送其他类型的通知也可以这么操作。
1. 准备飞书机器人 link 2. 导入编排代码 link复制下面配置点击「高级编排」右上角的导入按键导入该配置导入后将飞书提供的接口地址复制到「HTTP 模块」。
编排配置 { &amp;#34;nodes&amp;#34;: [ { &amp;#34;nodeId&amp;#34;: &amp;#34;userGuide&amp;#34;, &amp;#34;name&amp;#34;: &amp;#34;系统配置&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34;可以配置应用的系统参数&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;/imgs/workflow/userGuide.png&amp;#34;, &amp;#34;flowNodeType&amp;#34;: &amp;#34;userGuide&amp;#34;, &amp;#34;position&amp;#34;: { &amp;#34;x&amp;#34;: 303.41163758039283, &amp;#34;y&amp;#34;: -552.297639861266 }, &amp;#34;version&amp;#34;: &amp;#34;481&amp;#34;, &amp;#34;inputs&amp;#34;: [], &amp;#34;outputs&amp;#34;: [] }, { &amp;#34;nodeId&amp;#34;: &amp;#34;workflowStartNodeId&amp;#34;, &amp;#34;name&amp;#34;: &amp;#34;流程开始&amp;#34;, &amp;#34;intro&amp;#34;: &amp;#34;&amp;#34;, &amp;#34;avatar&amp;#34;: &amp;#34;/imgs/workflow/userChatInput.svg&amp;#34;, &amp;#34;flowNodeType&amp;#34;: &amp;#34;workflowStart&amp;#34;, &amp;#34;position&amp;#34;: { &amp;#34;x&amp;#34;: 529.3935295017156, &amp;#34;y&amp;#34;: 197.114018410347 }, &amp;#34;version&amp;#34;: &amp;#34;481&amp;#34;, &amp;#34;inputs&amp;#34;: [ { &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;renderTypeList&amp;#34;: [ &amp;#34;reference&amp;#34;, &amp;#34;textarea&amp;#34; ], &amp;#34;valueType&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;用户问题&amp;#34;, &amp;#34;required&amp;#34;: true, &amp;#34;toolDescription&amp;#34;: &amp;#34;用户问题&amp;#34; } ], &amp;#34;outputs&amp;#34;: [ { &amp;#34;id&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;key&amp;#34;: &amp;#34;userChatInput&amp;#34;, &amp;#34;label&amp;#34;: &amp;#34;core.</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

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>外部调用 FastGPT on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/</link><description>Recent content in 外部调用 FastGPT on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/use-cases/external-integration/index.xml" rel="self" type="application/rss+xml"/><item><title>通过 API 访问应用</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/openapi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/openapi/</guid><description>在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以查看应用对话接口。
获取 API 密钥 link依次选择应用 -&amp;gt; 「API访问」然后点击「API 密钥」来创建密钥。
warning 密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
🍅
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
替换三方应用的变量 link OPENAI_API_BASE_URL: https://api.fastgpt.in/api (改成自己部署的域名) OPENAI_API_KEY = 上一步获取到的密钥 ChatGPT Next Web 示例:
ChatGPT Web 示例:</description></item><item><title>接入飞书机器人教程</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/feishu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/feishu/</guid><description>从 4.8.10 版本起FastGPT 商业版支持直接接入飞书机器人,无需额外的 API。
1. 申请飞书应用 link开一个免费的测试企业更方便进行调试。
在飞书开放平台的开发者后台申请企业自建应用。 添加一个机器人应用。
2. 在 FastGPT 新建发布渠道 link在fastgpt中选择想要接入的应用在 发布渠道 页面,新建一个接入飞书机器人的发布渠道,填写好基础信息。
3. 获取应用的 App ID, App Secret 两个凭证 link在飞书开放平台开发者后台刚刚创建的企业自建应用中找到 App ID 和 App Secret填入 FastGPT 新建发布渠道的对话框里面。
填入两个参数到 FastGPT 配置弹窗中。
(可选)在飞书开放平台开发者后台,点击事件与回调 -&amp;gt; 加密策略 获取 Encrypt Key并填入飞书机器人接入的对话框里面
Encrypt Key 用于加密飞书服务器与 FastGPT 之间通信。 建议如果使用 Https 协议,则不需要 Encrypt Key。如果使用 Http 协议通信,则建议使用 Encrypt Key Verification Token 默认生成的这个 Token 用于校验来源。但我们使用飞书官方推荐的另一种更为安全的校验方式,因此可以忽略这个配置项。
4. 配置回调地址 link新建好发布渠道后点击请求地址复制对应的请求地址。
在飞书控制台,点击左侧的 事件与回调 ,点击配置订阅方式旁边的编辑 icon粘贴刚刚复制的请求地址到输入框中。
5. 配置机器人回调事件和权限 link 添加 接收消息 事件 在事件与回调页面,点击添加事件。</description></item><item><title>接入钉钉机器人教程</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/dingtalk/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/dingtalk/</guid><description>从 4.8.16 版本起FastGPT 商业版支持直接接入钉钉机器人,无需额外的 API。
1. 创建钉钉企业内部应用 link 在钉钉开发者后台创建企业内部应用。 获取Client ID和Client Secret。 2. 为 FastGPT 添加发布渠道 link在 FastGPT 中选择要接入的应用,在发布渠道页面,新建一个接入钉钉机器人的发布渠道。
将前面拿到的 Client ID 和 Client Secret 填入配置弹窗中。
创建完成后,点击请求地址按钮,然后复制回调地址。
3. 为应用添加机器人应用能力。 link在钉钉开发者后台点击左侧添加应用能力为刚刚创建的企业内部应用添加 机器人 应用能力。
4. 配置机器人回调地址 link点击左侧机器人 应用能力然后将底部消息接受模式设置为HTTP模式消息接收地址填入前面复制的 FastGPT 的回调地址。
调试完成后,点击发布。
5. 发布应用 link机器人发布后还需要在版本管理与发布页面发布应用版本。
点击创建新版本后,设置版本号和版本描述后点击保存发布即可。
应用发布后,即可在钉钉企业中使用机器人功能,可对机器人私聊。或者在群组添加机器人后@机器人,触发对话。</description></item><item><title>接入微信公众号教程</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/official_account/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/official_account/</guid><description>从 4.8.10 版本起FastGPT 商业版支持直接接入微信公众号,无需额外的 API。
注意⚠️: 目前只支持通过验证的公众号(服务号和订阅号都可以)
1. 在 FastGPT 新建发布渠道 link在 FastGPT 中选择想要接入的应用,在 发布渠道 页面,新建一个接入微信公众号的发布渠道,填写好基础信息。
2. 获取 AppID 、 Secret和Token link1. 登录微信公众平台,选择您的公众号。 link打开微信公众号官网https://mp.weixin.qq.com
只支持通过验证的公众号,未通过验证的公众号暂不支持。
开发者可以从这个链接申请微信公众号的测试号进行测试,测试号可以正常使用,但不能配置 AES Key
2. 把3个参数填入 FastGPT 配置弹窗中。 link 3. 在 IP 白名单中加入 FastGPT 的 IP link 私有部署的用户可自行查阅自己的 IP 地址。
海外版用户cloud.tryfastgpt.ai可以填写下面的 IP 白名单:
35.240.227.100 34.124.237.188 34.143.240.160 34.87.51.146 34.87.79.202 35.247.163.68 34.87.102.86 35.198.192.104 34.126.163.205 34.124.189.116 34.143.149.171 34.87.173.252 34.142.157.52 34.87.180.104 34.87.20.189 34.87.110.152 34.87.44.74 34.87.152.33 35.197.149.75 35.247.161.35 国内版用户fastgpt.cn)可以填写下面的 IP 白名单:</description></item><item><title>对接 chatgpt-on-wechat</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/onwechat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/onwechat/</guid><description>1 分钟对接 chatgpt-on-wechat linkchatgpt-on-wechat GitHub 地址
由于 FastGPT 的 API 接口和 OpenAI 的规范一致,可以无需变更原来的应用即可使用 FastGPT 上编排好的应用。API 使用可参考 这篇文章。编排示例,可参考 高级编排介绍
1. 获取 OpenAPI 密钥 link依次选择应用 -&amp;gt; 「API访问」然后点击「API 密钥」来创建密钥。
warning 密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
3. 创建 docker-compose.yml 文件 link只需要修改 OPEN_AI_API_KEY 和 OPEN_AI_API_BASE 两个环境变量即可。其中 OPEN_AI_API_KEY 为第一步获取的密钥OPEN_AI_API_BASE 为 FastGPT 的 OpenAPI 地址例如https://api.fastgpt.in/api/v1。
随便找一个目录,创建一个 docker-compose.yml 文件,将下面的代码复制进去。
version: &amp;#39;2.0&amp;#39; services: chatgpt-on-wechat: image: zhayujie/chatgpt-on-wechat container_name: chatgpt-on-wechat security_opt: - seccomp:unconfined environment: OPEN_AI_API_KEY: &amp;#39;fastgpt-z51pkjqm9nrk03a1rx2funoy&amp;#39; OPEN_AI_API_BASE: &amp;#39;https://api.fastgpt.in/api/v1&amp;#39; MODEL: &amp;#39;gpt-3.5-turbo&amp;#39; CHANNEL_TYPE: &amp;#39;wx&amp;#39; PROXY: &amp;#39;&amp;#39; HOT_RELOAD: &amp;#39;False&amp;#39; SINGLE_CHAT_PREFIX: &amp;#39;[&amp;#34;bot&amp;#34;, &amp;#34;@bot&amp;#34;]&amp;#39; SINGLE_CHAT_REPLY_PREFIX: &amp;#39;&amp;#34;[bot] &amp;#34;&amp;#39; GROUP_CHAT_PREFIX: &amp;#39;[&amp;#34;@bot&amp;#34;]&amp;#39; GROUP_NAME_WHITE_LIST: &amp;#39;[&amp;#34;ChatGPT测试群&amp;#34;, &amp;#34;ChatGPT测试群2&amp;#34;]&amp;#39; IMAGE_CREATE_PREFIX: &amp;#39;[&amp;#34;画&amp;#34;, &amp;#34;看&amp;#34;, &amp;#34;找&amp;#34;]&amp;#39; CONVERSATION_MAX_TOKENS: 1000 SPEECH_RECOGNITION: &amp;#39;False&amp;#39; CHARACTER_DESC: &amp;#39;你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。&amp;#39; SUBSCRIBE_MSG: &amp;#39;感谢您的关注!\n这里是ChatGPT可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。&amp;#39; EXPIRES_IN_SECONDS: 3600 USE_GLOBAL_PLUGIN_CONFIG: &amp;#39;True&amp;#39; USE_LINKAI: &amp;#39;False&amp;#39; LINKAI_API_KEY: &amp;#39;&amp;#39; LINKAI_APP_CODE: &amp;#39;&amp;#39; 4.</description></item><item><title>接入微信和企业微信</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/wechat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/wechat/</guid><description>FastGPT 三分钟接入微信/企业微信 link私人微信和企业微信接入的方式基本一样不同的地方会刻意指出。
查看视频教程
创建APIKey link首先找到我们需要接入的应用然后点击「外部使用」-&amp;gt;「API访问」创建一个APIKey并保存。
配置微秘书 link打开微秘书 注册登录后找到菜单栏「基础配置」-&amp;gt;「智能配置」,按照下图配置。
继续往下看到 apikey 和服务器根地址这里apikey填写我们在 FastGPT 应用外部访问中创建的 APIkey服务器根地址填写官方地址或者私有化部署的地址这里用官方地址示例注意要添加/v1后缀,填写完毕后保存。
sealos部署服务 link访问sealos 登录进来之后打开「应用管理」-&amp;gt; 「新建应用」。
应用名:称随便填写 镜像名:私人微信填写 aibotk/wechat-assistant 企业微信填写 aibotk/worker-assistant cpu和内存建议 1c1g 往下翻页找到「高级配置」-&amp;gt; 「编辑环境变量」
这里需要填写三个环境变量:
AIBOTK_KEY=微秘书 APIKEY AIBOTK_SECRET=微秘书 APISECRET WORK_PRO_TOKEN=你申请的企微 token (企业微信需要填写,私人微信不需要) 这里最后的企业微信 Token 在微秘书的-&amp;gt;会员开通栏目中自行购买。
这里环境变量我们介绍下如何填写:
AIBOTK_KEY 和 AIBOTK_SECRET 我们需要回到微秘书找到「个人中心」,这里的 APIKEY 对应 AIBOTK_KEY APISECRET 对应 AIBOTK_SECRET。
WORK_PRO_TOKEN 微秘书的会员中心中自行购买即可。
填写完毕后点右上角「部署」,等待应用状态变为运行中。
返回微秘书 找到「首页」,扫码登录需要接入的微信号。
测试 link只需要发送信息或者拉入群聊@登录的微信就会回复信息啦。</description></item><item><title>iframe 接入</title><link>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/iframe_integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/use-cases/external-integration/iframe_integration/</guid><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

46
docs/use-cases/index.html Normal file

File diff suppressed because one or more lines are too long

1
docs/use-cases/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/use-cases/</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/use-cases/index.xml" rel="self" type="application/rss+xml"/></channel></rss>