更新时间:2025-07-29 GMT+08:00
分享

搜索规划模型

功能介绍

Pangu-SearchPlan模型,用于RAG场景,提供通用意图分类/多轮查询改写/复杂查询分解/时间抽取等功能,在RAG任务中生产用于检索的query,以及根据query分类路由到后续不同的流程。

URI

获取URI方式请参见请求URI

POST /app/search/v1/planning

请求参数

使用Token认证方式的请求Header参数见表1

表1 请求Header参数(Token认证)

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。

用于获取操作API的权限。如图4中响应消息头中X-Subject-Token的值即为Token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

Content-Type

String

参数解释:

发送的实体的MIME类型。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

application/json

使用API Key认证方式的请求Header参数见表 请求Header参数(API Key认证)

表2 请求Header参数(API Key认证)

参数

是否必选

参数类型

描述

X-Apig-AppCode

String

参数解释:

API Key值。

用于获取操作API的权限。API Key认证响应消息头中X-Apig-AppCode的值即为API Key。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

Content-Type

String

参数解释:

发送的实体的MIME类型。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

application/json

表3 请求Body参数

参数

是否必选

参数类型

描述

query

String

参数解释:

query信息。

约束限制:

字符串长度限制:1~1024

取值范围:

不涉及

默认取值:

不涉及

history

List[String]

参数解释:

多轮对话的query和answer。实现逻辑如下:

  1. 只参考最近5轮对话。
  2. 对话历史和问题总长度1000token,超长会按照特定逻辑截断。
  3. 问题只参考前500字。

约束限制:

  • 元素必须为偶数个,如 [Question1, Answer1, Question2, Answer2]。
  • 按照对话顺序从旧到新。
  • 问题Question必填。
  • 答案Answer可以为空字符串,但必须占位。
  • 数组长度限制:0~50。
  • 字符串长度限制:0~4096。

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

category

String

参数解释:

Query分类,对于行业知识类,建议使用前缀匹配。

闲聊类:坐火车累死了。

语言任务类:请创作一封约460字的邮件,主题是咨询一个新的IT项目的细节,这个邮件将被发送给公司的IT项目经理。

人设类:你叫什么名字?

通用知识类:豆汁和豆浆的区别。

天气类:明天北京天气。

行业知识类:

  • 行业知识类-金融:贷款重组的定义是什么?
  • 行业知识类-政务:《国务院关于印发新一代人工智能发展规划的通知》的指导思想是什么?
  • 行业知识类-医疗:儿童便秘市面上常见西药是什么?对于未考虑到行业知识类的细分类别,一般会分为"行业知识类"。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

sub_queries

List[String]

参数解释:

多轮改写和复杂问题分解之后的子查询问题,可能包含多个值。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

language

String

参数解释:

查询语言,编码对应ISO 639-1

约束限制:

不涉及

取值范围:

  • zh:中文
  • en:英文
  • ar:阿语
  • fr:法语
  • th:泰语
  • mix:混合
  • unknown:未知

默认取值:

不涉及

timeliness

boolean

参数解释:

时效性查询,比如今天天气怎么样

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

date_range

String

参数解释:

从query中抽取时间范围,抽取结果如:

query:2022年全网最高用电负荷最大时,外电入鲁电力是多少?

date_range:2022-01-01~2022-12-31。

query:华为一季度收入。

date_range:2024-01-01~2024-03-31。

query:今日时间。

date_range:2024-04-01。

query:2023年11月30日配套储能放电量是多少?

date_range:2023-11-30~2023-11-30。

query:两天前北京发生了什么大事?

date_range:2024-03-30~2024-03-30。

当有多个子query时,用";"拼接如:

query:2023年第一季度山东和山西的GDP。

date_range:2023-01-01~2023-03-31;2023-01-01~2023-03-31。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

calculation

boolean

参数解释:

计算类查询,比如经济增长率。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

output_language

String

参数解释:

query是否涉及“请用xx语言回答”这样的表述,即会输出对应语言编码。如zh、en、ar、fr、th。无结果则输出""。

查询语言,编码对应ISO 639-1

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

cost

float

参数解释:

请求处理耗时,单位ms。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

POST /app/search/v1/planning \
--header 'Content-Type: application/json' \
--data '
{
    "query": "今天天气怎样?" ,
    "history": []
}
'

响应示例

{
    "sub_queries": [
        "今天天气怎样?"
    ],
    "category": "天气类",
    "calculation": false,
    "timeliness": true,
    "language": "zh",
    "output_language": "",
    "date_range": "2025-05-15~2025-05-15",
    "cost": 164.17336463928223
}

状态码

请参见状态码

错误码

请参见错误码

相关文档