You need to enable JavaScript to run this app.
导航
接入联网问答 Agent
最近更新时间:2025.11.20 10:47:02首次发布时间:2025.11.20 10:47:02
复制全文
我的收藏
有用
有用
无用
无用

通过接入火山引擎的联网问答 Agent,可以让 AI 智能体具备实时从互联网检索信息并进行总结回答的能力。例如,查询最新资讯、获取天气信息、询问实时股价等。

关于联网问答 Agent 的更多信息,请参见联网问答 Agent 服务

使用限制

  • 仅支持使用火山引擎提供的联网问答 Agent 服务。
  • 该功能仅对以下模型生效:
    • 部分火山方舟模型。具体支持的模型,请参见支持模型

      说明

      • 为保证接入效果,建议使用模型 doubao-seed-1-6
      • doubao-seed-1-6-thinking 强制开启思考模式,不可关闭,在实时对话场景可能造成较高时延,不建议使用。
    • 第三方大模型/Agent。

实现方式

步骤 1:开通联网问答 Agent 服务

  1. 登录联网问答 Agent 控制台
  2. 选择联网问答Agent,按需创建一个联网问答 Agent 并正式开通,然后记录下 Agent ID。

    说明

    建议将联网意图配置为强制联网,以跳过 LLM 的联网意图判断,确保每个问题都基于最新信息回答。

    更多配置说明,请参见联网问答 Agent 操作指南
  3. 选择系统管理 > API Key 管理,创建一个 API Key,并记录下 API Key 值。

步骤 2:配置 AibotCreate 接口

您只需要在调用 AibotCreate 时,通过 FunctionName 和 FunctionDescription 来声明和定义联网工具,系统会自动根据 FunctionName 和 FunctionDescription 定义函数,并智能地决定何时调用这个“内置”的联网工具。

调用 AibotCreate 接口时,在 Config 对象中配置 WebSearchAgentConfig 参数。参数说明如下:

字段说明
Enable必填,设置为 true。
APIKey必填,填入在步骤 1 获取的 API Key 值。
ParamsString必填,填入联网问答 Agent 服务参数内容(JSON 字符串)。格式和内容要求,请参见 ParamsString 说明

FunctionName

工具调用名称(例如 webSearch),用于在内部标识此联网工具。

注意

不能与 Function calling 中的(LLMConfig.Tools)定义的工具重名。

FunctionDescription

必填,用自然语言描述您希望 AI 在什么情况下联网。它会作为 Prompt 的一部分,帮助 LLM 更精准地判断是否需要触发联网搜索。

说明

为避免逻辑混乱,联网 Agent 的用途建议不要与 Function Calling 相同。

ComfortWords

可选。安抚语。当智能体触发联网搜索时,会先通过 TTS 播报这段安抚语,提高用户在等待搜索结果时的体验。如果留空,则不播报。

说明

安抚语结尾需要带标点符号。

ParamsString 说明

ParamsString 参数是一个经过压缩和转义的 JSON 字符串,用于向联网 Agent 服务传递基础配置和可选的附加上下文。它本质上是联网 Agent 服务 API 请求体 ChatCompletionRequest 经压缩并转义后的 JSON 字符串。

配置 ParamsString 参数前需先进行以下操作:

  1. 参考 联网问答 Agent API 文档 的请求参数 ChatCompletionRequest,构建 JSON 字符串。

    • bot_id:必填。对应在步骤 1 获取的 Agent ID 值。
    • stream 必填,且必须设置为 true
    • 其他参数(如 messagesknowledge等):根据实际需求进行配置。比如为 Agent 的回答单独提供上下文(传入 messages),或单独提供用户的即时状态(传入 knowledge)时,增加这些字段会让回复更智能。

    示例:

    • 最简配置(仅包含必填项):

      {
         "bot_id": "7429...747",
         "stream": true
      }
      
    • 高级配置(包含上下文)

      {
         "bot_id": "7429...747",
         "stream": true,
         "user_id": "user_123",
         "messages": [
            { "role": "user", "content": "想去西安玩几天,有什么推荐的。" },
               { "role": "assistant", "content": "好的,西安是历史名城,有兵马俑、大雁塔等著名景点。您计划什么时候去呢?" }
              ], 
         "knowledge": "当前用户正在规划去西安的旅行"
      }
      
  2. 压缩并转义 JSON 字符串,得到 ParamsString 的值。
    将构建的 JSON 对象进行压缩(移除空格和换行)和转义(如将 " 替换为 \")。您可以使用在线工具(如 BeJSON)或代码来完成。例如,{\"bot_id\":\"7429...747\",\"stream\":true}

配置示例

"Config": {
  "WebSearchAgentConfig": {
    "Enable": true,
    "ParamsString": "{\"bot_id\":\"7429...747\",\"stream\":true}",
    "APIKey": "your_agent_api_key",
    "FunctionName": "webSearch",
    "FunctionDescription": "用于查询具有时效性的信息,比如今天的天气、最新的新闻事件等。",
    "ComfortWords": "正在帮您上网查一下,请稍等片刻。"
  },
  // ... 其他 Config 配置 ...
}