FastGPT 对话 Agent 的 AI 配置模块

🎉摘要:本文全面详解FastGPT对话Agent的AI配置模块,涵盖AI模型选择、记忆轮数、温度控制、提示词、知识库关联、工具调用、文件上传、全局变量、语音交互等核心功能配置,指导用户构建功能强大且专业的对话智能体。

FastGPT 对话 Agent 的 AI 配置模块是构建 Agent 的重要模块,该模块用来配置 Agent 中 AI 相关的各种功能。

完整的配置项如下图:

下面将对其中的每个选项进行详细介绍:

AI 模型

该选项用来配置 Agent 使用什么 LLM 大模型,如下图:

点击下拉框,可以快速切换不同的 LLM 大模型,如下图:

点击“⚙️”图标,打开详细的 AI 配置页面,如下图:

上图中涉及了很多 AI 专业术语,下面将详细介绍:

AI 模型

AI 模型选项用于快速选择 LLM 大模型,其中 AI 积分计费显示了输入和输出 token 的积分消耗,最大上下文信息、函数调用支持信息。

记忆轮数

记忆轮数是 AI 对话系统中的一个参数,指系统允许模型在对话过程中记住的历史对话轮次数量,轮次即 “用户提问+AI回复”为 1 轮。如下图:

注意,FastGPT 中模型最多可携带的对话轮数为 30 轮。如果记忆超出模型上下文限制,系统会强制截断。尽管配置 30 轮对话,实际运行时可能无法达到 30 轮

回复上限

回复上线用来限制 AI 单次回复的 TOKENS 长度,避免回答过长。如果限制回复上限 20,回复如下图:

温度

在 AI 模型中,温度(Temperature)是控制回答随机性 / 创造性的参数,核心作用是调整 AI 输出内容的灵活程度:

  • 当温度较高(比如 0.8-1.0):AI 会优先选择概率较低的词,回答更发散、多样,甚至带有创意,但可能不够严谨;

  • 当温度较低(比如 0.1-0.3):AI 会优先选概率高的词,回答更聚焦、稳定、贴合事实,但会比较刻板;

  • 温度为0时:AI 每次都会输出概率最高的固定结果,完全没有随机性。

简单说,温度像 “创意开关”—— 调高调低,决定 AI 是 “灵活发散” 还是 “严谨保守”。

在 FastGPT 中,温度值范围为 0~10,值越大达标模型回答越发散。值越小达标回答越严谨。

Top_p

在 FastGPT 中,温度采样的替代方法是 Nucleus 采样(核采样),这是一种通过控制候选词概率分布范围来调节模型输出多样性的策略。

与温度采样通过调整概率分布的平滑程度来改变随机性不同,Nucleus 采样的核心逻辑是聚焦概率质量的集中度:它会将模型生成下一个令牌时的所有候选词,按照概率从高到低进行排序,然后依次累加这些候选词的概率值,直到累加和达到预设的 Top-p 阈值,最终仅在这个累加概率满足阈值的候选词集合(即 “核”)中随机选择下一个令牌。

具体来说,当 Top-p 参数设置为 0.1 时,意味着模型只会筛选并保留概率最高的一批令牌,且这批令牌的概率总和恰好达到 0.1,后续所有概率更低的令牌都会被直接排除在候选范围之外。这种设置会极大压缩候选词的选择空间,让模型输出的内容高度聚焦、稳定且贴合事实,随机性被严格限制。

而 FastGPT 中 Top-p 的默认值为 1,此时候选词集合会包含所有可能的令牌(因为所有令牌的概率累加和为 1),相当于 Nucleus 采样的约束完全失效,模型的输出逻辑会更接近基础的随机采样模式。

停止序列

在 FastGPT 中,停止序列(Stop Sequence)是用于控制模型生成内容终止时机的配置项,核心作用是让 AI 在生成内容时,遇到预设的特定字符 / 字符串时自动停止输出。

例如:设置停止序列为“。”,如下图:

发起对话,AI 大模型遇到“。”则将停止生产,效果如下图:


回复格式

上图是 FastGPT 的回复格式配置项,用于指定 AI 输出内容的结构类型,其中:

  • text(纯文本):模型会输出无结构化的自然语言内容,是最基础的格式,适合普通对话、简单问答场景,内容直接可读但无固定结构。

  • json_object(JSON 对象):模型会输出符合 JSON 语法的结构化内容(比如 {"问题":"xxx", "回答":"xxx"}),适合需要提取数据、对接接口的场景,内容便于程序解析,但需要在提示词中明确字段要求(否则可能出现格式错误)。

例如:

上图中,在提示词部分我们指定回复内容为 JSON 格式,并且给定了返回 JSON 的字段信息。右侧聊天列表中,回复内容采用 JSON 字符串格式。

提示词

AI 提示词是用户输入给 AI 模型的指令、问题或引导性文本,核心作用是告诉 AI“需要做什么、怎么做、达到什么效果”,是连接用户需求与 AI 输出的桥梁。

提示词的核心特点如下:

  1. 明确性:提示词越具体,AI 输出越贴合需求。比如模糊的提问“写一篇关于环保的文章”,优化后的提示词可以是“写一篇面向中学生的环保科普短文,300 字左右,重点讲塑料污染的危害和减少使用的方法,语言通俗易懂”。

  2. 指令性:可以包含任务要求(如 “总结”“翻译”“创作”)、格式约束(如 “以表格形式输出”“用 JSON 格式返回”)、风格限定(如“正式书面语”“口语化聊天风格”)。

  3. 适配性:不同场景的提示词侧重点不同:

    • 对话场景:侧重自然语言提问(如 “解释下什么是 Top-p 采样”);

    • 创作场景:侧重风格和细节描述(如 “写一首描写秋天的七言绝句,意境清冷”);

    • 工具场景:侧重精准指令(如 “帮我提取这段文本中的人名和地名”)。

关联知识库

知识库是为 AI 模型提供特定领域、结构化或半结构化数据的数据库,核心作用是让 AI 摆脱通用知识的局限,基于用户自定义的专属内容生成回答,是实现检索增强生成(RAG) 的核心组件。

知识库的核心特点如下:

  1. 专属定制性:知识库中的内容由用户上传或录入,比如企业的产品手册、行业的法规文档、个人整理的学习笔记等。这些内容是 AI 的“私有资料”,不会混杂通用网络信息,能精准匹配特定需求。举个例子:给 AI 上传一份公司的劳动合同模板,AI 就能基于这份模板回答 “劳动合同中的试用期条款怎么写”,而不是输出通用的法律条文。

  2. 检索与生成结合:AI 不会直接“背诵”知识库内容,而是通过向量化技术将文档拆解为可检索的特征向量。当用户提问时,AI 先从知识库中检索与问题最相关的内容片段,再结合这些片段生成回答,同时可以标注内容来源。

  3. 动态可维护:知识库支持增删改查:新增文档后可触发 “重建索引” 让 AI 学习;过时内容可删除,避免 AI 输出错误信息;还能按主题分类管理,比如分为 “产品知识”“售后 FAQ” 等子库。

在 FastGPT 中,需要先在“知识库”选项卡中创建属于自己的知识库。然后,才能在 Agent 中关联知识库。

点击关联知识库右侧的“+选择”按钮,如下:

选择你的知识库,注意仅能选择同一个索引模型的知识库,点击“确定”即可。效果如下图:

上图中,仅仅选择了“劳动法”知识库。

点击“✏️参数”按钮,配置知识库的参数,如下图:

上图用于配置知识库的搜索方式,FastGPT 提供了 3 种检索逻辑,决定 AI 从知识库中选内容的方式:

  • 语义检索:用“向量技术”分析文本的语义相关性(不是只看关键词,而是理解意思)。适合问题是自然语言描述、需要“理解含义”的场景(比如“劳动法里的试用期怎么规定”)。

  • 全文检索:传统的关键词匹配(看问题里的词是否出现在知识库文档中)。适用需要精准匹配关键词、术语的场景(比如“什么是‘RAG 模式’”)。

  • 混合检索:同时用“语义检索 + 全文检索”,再通过 RRF 算法合并排序结果。可通过滑块调整两者的权重(当前语义 / 全文检索各占 0.5),兼顾 “语义理解” 和 “关键词精准度”,是通用性最强的模式。

结果重排使用重排模型对结果进行二次排序,可增强综合排序。支持调整重排权重和模型:

  • 重排权重:控制重排算法对结果顺序的影响程度。

  • 重排模型:使用“gte-rerank-v2”模型,这是专门用于优化文本相关性排序的模型,让最匹配的内容排在前面。

上图是 FastGPT 知识库搜索配置中的搜索过滤面板,用于控制从知识库检索内容的范围和质量:

  • 引用上限:限制 AI 从知识库中引用内容的数量上限。设为 3000,意味着 AI 最多会从知识库中提取 3000 字符的相关内容,避免引用内容过多导致回答冗余。

  • 最低相关度:筛选知识库中与问题的匹配程度下限(数值范围通常是 0-1,越接近 1 代表匹配度要求越高)。设为 0.2,代表只有与问题相关度≥0.2 的知识库内容才会被选中,过滤掉完全不相关的内容。

上图是 FastGPT 知识库搜索配置中的问题优化面板,核心作用是提升连续对话时知识库检索的精准度。

开启 “问题优化” 后,AI 会结合历史对话记录,自动补全当前问题中缺失的信息(比如用户说 “这个规定的期限是多久”,AI 会结合之前的对话,明确 “这个规定” 指的是 “劳动法试用期规定”),避免因问题表述不完整导致知识库检索跑偏。

  • AI 模型:当前使用 “Qwen-max” 作为问题优化的执行模型,负责补全对话中缺失的信息。

  • 对话背景描述:可填写当前对话的主题(比如 “关于劳动法的咨询问题”),帮助 AI 更精准地理解对话场景,进一步提升问题补全的准确性。

工具调用

在 FastGPT 中“工具调用”功能用来给 AI 模型增加获取外部数据 / 执行外部操作的能力,让模型不再仅依赖自身知识,而是能主动调用插件(工具)来补充信息、完成任务。

工具调用的关键规则:

  • 调用决策权:具体用哪些插件,由 AI 模型自主决定(不是用户手动触发)。

  • 运行模式:所有插件都以 “非流模式” 运行(即插件执行完成、返回结果后,模型才继续生成回答,不会边执行边输出)。

  • 知识库的特殊身份:如果开启了工具调用功能,知识库会自动变成一个特殊插件,模型可以自主选择是否检索知识库内容。

简单说,这个功能是让 AI 从“被动回答”变成“主动调用工具的助手”,同时把知识库也纳入了可调用的工具列表里。

在 FastGPT 工具调用栏点击“+选择”按钮,选择合适的工具,如下图:

上图中,提供了系统工具(FastGPT 内置的工具)、我的工具(由自己或团队创建的工具)和 Agent(自己的或团队的 Agent)。

文件上传

FastGPT 中文件上传,可以限制最大文件数量和支持的文件类型,如下图:

开启后,在输入框或多出一个上传附件的图标,例如:

用户可以使用该按钮上传附件,如下图:

全局变量

在 FastGPT 中,全局变量是可以在整个应用流程(包括对话、工具调用、逻辑编排等模块)中共享的动态数据容器,核心作用是存储、传递流程中产生的临时数据,实现不同模块间的信息互通。

一旦定义,全局变量可以在对话模块、工具调用、条件判断、文本处理等所有流程节点中读取 / 修改,比如将用户提问中的 “城市” 提取后存入全局变量,后续工具调用(如查天气)可直接引用该变量。

点击“+新增”按钮,打开变量设置页面,如下图:

假如我们定义文本输入框和密码输入,效果如下:

对话开场白

对话开场白用于设置每次对话开始前,发送一个初始内容,提升用户体验。可以使用 Markdown 编写一段格式美观,包含自我介绍、常用问题的开场白,告诉用户如何使用该 Agent、以及 Agent 常用问题,如下图:

语音播放

FastGPT 会话 Agent 的语音播放是基于 TTS(文本转语音)的响应输出功能,通过内置 / 第三方 TTS 插件(如 fish-speech、speech-01-turbo)将 Agent 的文本回复合成自然语音并自动播放,适配多语言与自定义音色,提升语音交互的完整度与自然感。

开启语音播放如下图:

支持选择不同的语音模型,调整语速。注意,浏览器自带的是与操作系统有关,该类 TTS 播送没有情感,不是很好听。

语音输入

FastGPT Agent 的语音输入是基于 STT(语音转文本)的交互增强功能,让用户通过麦克风与 Agent 语音对话,核心依赖内置 / 可配置的 ASR 模型(如 Whisper、SenseVoice),支持多语言实时识别,降低文字输入门槛。

开启语音输入:

自动发送指云因输入完毕后直接发送,不需要再手动点击发送按钮。

当开启语音输入后,输入框附件条位置会多出一个语音输入的按钮,如下图:

猜你想问

FastGPT 中的猜你想问是一个智能联想推荐功能,核心作用是基于用户当前的提问、对话上下文或知识库内容,自动生成相关的问题列表,引导用户进一步提问,提升交互效率和信息获取的便捷性。

如下图:

上面基于当前提问和回答,给出了三个推荐问题。

在开启猜你想问功能时,允许你选择生成问题的 AI 模型,以及自定义提示词。如下图:

默认自定义提示词翻译成中文如下:

你是一名人工智能助手,任务是根据对话历史预测用户的下一个问题。你的目标是生成 3 个潜在问题,引导用户继续对话。生成问题时,请遵守以下规则:

  1. 使用与对话历史中用户上一个问题相同的语言。

  2. 每个问题的长度不超过 20 个字符。

请分析提供的对话历史,并以此为上下文,生成相关且能引发兴趣的后续问题。你的预测应当是当前话题的合理延伸,或是用户可能有兴趣进一步探索的相关领域。

请务必保持与现有对话的语气和风格一致,同时提供多样化的问题供用户选择。你的目标是让对话自然流畅地进行,并帮助用户更深入地钻研主题或探索相关话题。


输入引导

输入引导指你可以为你的应用提前预设一些问题,用户在输入时,会根据输入的内容,动态搜索这些问题作为提示,从而引导用户更快的进行提问。例如:

当我们输入“每日”时将检索包含关键字“每日”的预制问题。

在 FastGPT 中,你可以直接在 FastGPT 中配置词库,或者提供自定义词库接口。

直接配置词库

开启输入引导,如下图:

点击“配置词库”按钮开始配置自定义的词条目,如下图:

上图配置了三个简单的词条目,保存 Agent。在输入框输入“如何”,此时会弹出输入引导提示框,如下图:

自定义词库接口

自定义词库接口相对麻烦,需要你自己开发一个接口,且接口暴露在互联网,可以通过网络正常访问。接口地址不固定个,但是接口接收两个参数,分别是:

  • appId 为应用ID,用来鉴权,只让指定的 appId 才能访问。

  • searchKey 为搜索关键字,最多是50个字符。

接口返回格式如下:

{
  "code": 200, // 状态码,200表示成功
  "statusText": "", // 状态提示信息
  "message": "", // 错误消息
  "data": [ // 返回的问题列表
    "是你",
    "你是谁呀",
    "你好好呀",
    "你好呀",
    "你是谁!",
    "你好"
  ]
}

为了快速验证该功能,这里使用 ApiFox 的远程 mock 功能来验证,如下:

(1)先创建一个简单的接口,如下图:

(2)点击 Mock,选择“云端”,此时 ApiFox 会给出一个可以远程访问的 URL 地址,如下图:

我们在 Mock 脚本中,通过 JS 模拟了根据关键字搜索的功能。Mock 脚本准备好后,可以先用浏览器访问一下接口是否可以被访问,如果访问正常,将地址复制到 FastGPT 的输入引导的自定义词库地址输入框,如下图:

保存 Agent,再次到输入框输入“每日”,此时将弹出关于“每日”的输入引导,如下图:

到这里,AI 配置模块就介绍完了,自己去试试吧!纸上得来终觉浅,绝知此事要躬行。

  

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号