用户提问与分类管理
查询品牌下的用户提问
- 请求方法:POST
- 请求路径:
/geo/api/prompt/get
说明:
prompt_ids、title_ids、tag_ids、models不传或传空数组时,表示不按对应条件筛选。tag_ids用于按标签筛选,models用于按模型名称筛选。- 返回结果中的
tags为用户提问绑定的标签,models为绑定的模型名称。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_ids | string 数组 | 用户提问ID列表 | 否 |
| page | int | 页码,从 1 开始;不传或小于 1 时默认 1 | 否 |
| page_size | int | 每页数量;不传或传 0 时默认 20,最大 100 | 否 |
| query_str | string | 用户提问关键字 | 否 |
| title_ids | string 数组 | 用户提问分类ID列表 | 否 |
| status | int | 用户提问状态:1-启用,2-禁用 | 否 |
| tag_ids | string 数组 | 标签ID列表 | 否 |
| models | string 数组 | 模型名称列表 | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| prompts | object 数组 | 用户提问列表 |
| prompts.prompt_id | string | 用户提问ID |
| prompts.brand_id | string | 品牌ID |
| prompts.title_id | string | 用户提问分类ID |
| prompts.title_name | string | 用户提问分类名称 |
| prompts.query_str | string | 用户提问内容 |
| prompts.status | int | 用户提问状态:1-启用,2-禁用 |
| prompts.tags | object 数组 | 用户提问绑定的标签 |
| prompts.tags.prompt_tag_id | string | 标签ID |
| prompts.tags.team_id | string | 团队ID |
| prompts.tags.tag_name | string | 标签名称 |
| prompts.tags.created_by | string | 创建人名称 |
| prompts.tags.created_time | int64 | 创建时间,Unix 毫秒时间戳 |
| prompts.models | string 数组 | 用户提问绑定的模型名称 |
| prompts.created_time | string | 用户提问创建时间 |
| total | int | 符合条件的用户提问总数 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"prompts": [
{
"prompt_id": "prompt_test_001",
"brand_id": "brand_test_001",
"title_id": "title_test_001",
"title_name": "测试分类A",
"query_str": "测试品牌A适合哪些业务场景?",
"status": 1,
"tags": [
{
"prompt_tag_id": "tag_test_001",
"team_id": "team_test_001",
"tag_name": "产品体验",
"created_by": "test_user",
"created_time": "1735689600000"
}
],
"models": [
"model-a"
],
"created_time": "2026-01-01 10:00:00"
}
],
"total": 1
}
}标签使用说明:
- 用户提问标签由团队统一管理,可供团队内的品牌使用。
- 标签关系接口以
brand_id指定品牌;传入的用户提问须属于该品牌。 - 添加或移除标签关系时,
tag_ids须为该品牌所属团队下可用的标签。 - 本节中的标签均指用户提问标签;用户提问绑定的模型通过
models字段单独返回。
新建用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/create
说明:一次可新建多个标签。标签名称最长 64 个字符。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| team_id | string | 团队ID | 是 |
| tag_names | string 数组 | 标签名称列表 | 是 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| tags | object 数组 | 新建的标签列表 |
| tags.prompt_tag_id | string | 标签ID |
| tags.team_id | string | 团队ID |
| tags.tag_name | string | 标签名称 |
| tags.created_by | string | 创建人名称 |
| tags.created_time | int64 | 创建时间,Unix 毫秒时间戳 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"tags": [
{
"prompt_tag_id": "tag_test_001",
"team_id": "team_test_001",
"tag_name": "产品体验",
"created_by": "test_user",
"created_time": "1735689600000"
}
]
}
}更新用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/update
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| team_id | string | 团队ID | 是 |
| tag_id | string | 标签ID | 是 |
| tag_name | string | 新的标签名称,最长 64 个字符 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}获取团队下的用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/get
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| team_id | string | 团队ID | 是 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| tags | object 数组 | 团队下的标签列表 |
| tags.prompt_tag_id | string | 标签ID |
| tags.team_id | string | 团队ID |
| tags.tag_name | string | 标签名称 |
| tags.created_by | string | 创建人名称 |
| tags.created_time | int64 | 创建时间,Unix 毫秒时间戳 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"tags": [
{
"prompt_tag_id": "tag_test_001",
"team_id": "team_test_001",
"tag_name": "产品体验",
"created_by": "test_user",
"created_time": "1735689600000"
}
]
}
}删除用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/delete
说明:支持批量删除;仍被用户提问使用的标签不能删除。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| team_id | string | 团队ID | 是 |
| tag_ids | string 数组 | 标签ID列表 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}获取品牌下单个用户提问绑定的标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/get
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_id | string | 用户提问ID | 是 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| tags | object 数组 | 用户提问绑定的标签列表 |
| tags.prompt_tag_id | string | 标签ID |
| tags.team_id | string | 团队ID |
| tags.tag_name | string | 标签名称 |
| tags.created_by | string | 创建人名称 |
| tags.created_time | int64 | 创建时间,Unix 毫秒时间戳 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"tags": [
{
"prompt_tag_id": "tag_test_001",
"team_id": "team_test_001",
"tag_name": "产品体验",
"created_by": "test_user",
"created_time": "1735689600000"
}
]
}
}批量获取品牌下用户提问绑定的标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/batch
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_ids | string 数组 | 用户提问ID列表 | 是 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| relations | object 数组 | 用户提问与标签的绑定关系 |
| relations.prompt_id | string | 用户提问ID |
| relations.tags | object 数组 | 用户提问绑定的标签列表 |
| relations.tags.prompt_tag_id | string | 标签ID |
| relations.tags.team_id | string | 团队ID |
| relations.tags.tag_name | string | 标签名称 |
| relations.tags.created_by | string | 创建人名称 |
| relations.tags.created_time | int64 | 创建时间,Unix 毫秒时间戳 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"relations": [
{
"prompt_id": "prompt_test_001",
"tags": [
{
"prompt_tag_id": "tag_test_001",
"team_id": "team_test_001",
"tag_name": "产品体验",
"created_by": "test_user",
"created_time": "1735689600000"
}
]
}
]
}
}为品牌下用户提问添加标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/add
说明:已有的绑定关系不会重复创建。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_id | string | 用户提问ID | 是 |
| tag_ids | string 数组 | 要添加的标签ID列表 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}移除品牌下用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/remove
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_id | string | 用户提问ID | 是 |
| tag_ids | string 数组 | 要移除的标签ID列表 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}批量为品牌下用户提问添加标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/add/batch
说明:将 tag_ids 中的标签添加到 prompt_ids 中的每个用户提问,已有的绑定关系不会重复创建。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_ids | string 数组 | 用户提问ID列表 | 是 |
| tag_ids | string 数组 | 要添加的标签ID列表 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}批量移除品牌下用户提问标签
- 请求方法:POST
- 请求路径:
/geo/api/prompt/tag/relation/remove/batch
说明:从 prompt_ids 中的每个用户提问移除 tag_ids 中的标签。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| prompt_ids | string 数组 | 用户提问ID列表 | 是 |
| tag_ids | string 数组 | 要移除的标签ID列表 | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}新建用户提问
- 请求方法:POST
- 请求路径:
/geo/prompt/create
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| title_id | string | 用户提问分类ID | 是 |
| query_str | string | 用户提问内容 | 是 |
| recommend_id | string | 关联推荐记录ID | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| id | string | 新建的 query ID |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"id": "prompt_test_001"
}
}更新用户提问
- 请求方法:POST
- 请求路径:
/geo/prompt/update
说明:该接口为局部更新(patch)语义。id、brand_id 必传;query_str 与 status 按传入内容更新,未传则不更新。注意:query_str 不能更新为空字符串,status=0 不表示更新。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| id | string | query ID | 是 |
| brand_id | string | 品牌ID | 是 |
| query_str | string | 用户提问内容;传入时更新 | 否 |
| status | int | 用户提问状态;传入时更新,支持:1-启用,2-禁用。0 不表示有效状态,仅表示不更新 | 否 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}批量新建用户提问
- 请求方法:POST
- 请求路径:
/geo/prompt/create/batch
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| title_id | string | 用户提问分类ID | 是 |
| prompts | string 数组 | 用户提问内容列表 | 是 |
| recommend_ids | string 数组 | 关联推荐记录ID列表,与 prompts 一一对应;无关联时可填 -1 | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| prompt_ids | string 数组 | 新建的用户提问ID 列表 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"prompt_ids": [
"prompt_test_001",
"prompt_test_002"
]
}
}获取品牌下的用户提问列表(分组)
- 请求方法:POST
- 请求路径:
/geo/prompt/get/group
说明:
- 该接口用于获取品牌下的用户提问列表,按用户提问分类分组。
- 不传
begin_date和end_date时,默认查询最近 7 天;只传其中一个会返回参数错误。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| group_type | int | 分组类型:1-按用户提问分类 | 是 |
| begin_date | string | 开始日期,格式:YYYY-MM-DD | 否 |
| end_date | string | 结束日期,格式:YYYY-MM-DD | 否 |
| page | int | 页码 | 否 |
| page_size | int | 每页数量 | 否 |
| title_ids | string 数组 | 用户提问分类ID列表 | 否 |
| tag_ids | string 数组 | 标签ID列表 | 否 |
| query_str | string | 用户提问关键字 | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| titles | object 数组 | 按分类分组的结果 |
| titles.title_id | string | 分类ID |
| titles.title_name | string | 分类名称 |
| titles.title_desc | string | 分类描述 |
| titles.prompt_count | int | 分类下的用户提问数量 |
| titles.exposure | float | 曝光率 |
| titles.fluctuation | float | 曝光率变化值 |
| titles.avg_rank | float | 平均排名 |
| titles.daily_avg_score | object 数组 | 每日平均分 |
| titles.prompts | object 数组 | 分类下的用户提问列表 |
| prompts.id | string | 用户提问ID |
| prompts.query_str | string | 用户提问内容 |
| prompts.status | int | 用户提问状态:1-启用,2-禁用 |
| prompts.exposure | float | 曝光率 |
| prompts.avg_rank | float | 平均排名 |
| prompts.daily_avg_score | object 数组 | 每日平均分 |
| prompts.title_id | string | 分类ID |
| prompts.title_name | string | 分类名称 |
| prompts.creator_name | string | 创建人名称 |
| prompts.created_time | int64 | 创建时间 |
| prompts.fluctuation | float | 曝光率变化值 |
| prompts.trace_article_cnt | int | 关联追踪文章数量 |
| prompts.tags | object 数组 | 用户提问关联标签 |
| total | int | 分组总数 |
| total_prompts | int | 用户提问总数 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"titles": [
{
"title_id": "title_test_001",
"title_name": "测试分类A",
"title_desc": "用于演示的用户提问分类",
"prompt_count": 1,
"exposure": 0.8,
"fluctuation": 0.1,
"avg_rank": 2.5,
"daily_avg_score": [
{
"date": "2026-01-15",
"score": 86
}
],
"prompts": [
{
"id": "prompt_test_001",
"query_str": "测试品牌A适合哪些业务场景?",
"status": 1,
"exposure": 0.8,
"avg_rank": 2.5,
"title_id": "title_test_001",
"title_name": "测试分类A",
"creator_name": "test_user",
"created_time": "1735689600000",
"trace_article_cnt": 3
}
]
}
],
"total": 1,
"total_prompts": 1
}
}获取用户提问分类列表
- 请求方法:POST
- 请求路径:
/geo/title/get
说明:这里的“分类”对应系统中的 title。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| id | string | 分类ID | 否 |
| title_name | string | 分类名称,支持按名称过滤 | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| id | string | 分类ID |
| brand_id | string | 品牌ID |
| title_name | string | 分类名称 |
| title_desc | string | 分类描述 |
| count | int | 该分类下的用户提问数量 |
| created_time | string | 创建时间 |
| updated_time | string | 更新时间 |
响应示例:
{
"code": 0,
"msg": "success",
"data": [
{
"id": "title_test_001",
"brand_id": "brand_test_001",
"title_name": "测试分类A",
"title_desc": "用于演示的用户提问分类",
"count": 12,
"created_time": "2026-01-01",
"updated_time": "2026-01-15"
}
]
}新建用户提问 分类
- 请求方法:POST
- 请求路径:
/geo/title/create
说明:这里的“分类”对应系统中的 title。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| title_name | string | 分类名称 | 是 |
| title_desc | string | 分类描述 | 否 |
响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
| id | string | 新建的分类ID |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"id": "title_test_001"
}
}更新用户提问 分类
- 请求方法:POST
- 请求路径:
/geo/title/update
说明:这里的“分类”对应系统中的 title。该接口为部分更新语义:id、brand_id、title_name 必传;title_desc 传入时才更新,未传则不更新。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| id | string | 分类ID | 是 |
| brand_id | string | 品牌ID | 是 |
| title_name | string | 分类名称 | 是 |
| title_desc | string | 分类描述;传入时更新 | 否 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}更新用户提问 所属分类
- 请求方法:POST
- 请求路径:
/geo/prompt/relation/update
说明:该接口不是局部更新,而是替换关联语义,用于将指定用户提问重新归类到新的分类下。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| brand_id | string | 品牌ID | 是 |
| title_id | string | 目标分类ID | 是 |
| prompt_id | string | 用户提问ID | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}删除用户提问
- 请求方法:POST
- 请求路径:
/geo/prompt/delete
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| id | string | query ID | 是 |
| brand_id | string | 品牌ID | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}批量删除用户提问
- 请求方法:POST
- 请求路径:
/geo/prompt/delete/batch
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| prompt_ids | string 数组 | 用户提问ID 列表 | 是 |
| brand_id | string | 品牌ID | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}删除用户提问分类
- 请求方法:POST
- 请求路径:
/geo/title/delete
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
| id | string | 分类ID | 是 |
响应参数:
接口调用成功时,返回空对象。
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}触发推荐提问生成
- 请求方法:POST
- 请求路径:
/geo/question-recommendation/trigger
说明:该接口异步生成推荐提问,触发后通过查询推荐提问列表读取结果。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
brand_id | string | 品牌 ID | 是 |
target_date | string | 目标日期 YYYY-MM-DD;可省略 | 否 |
请求示例:
{
"brand_id": "1001",
"target_date": "2026-10-14"
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
message | string | 返回消息 |
data.brand_id | string | 品牌 ID |
data.status | string | 已触发时为 processing |
响应示例:
{
"code": 0,
"message": "推荐任务已触发",
"data": {
"brand_id": "1001",
"status": "processing"
}
}查询推荐提问列表
- 请求方法:POST
- 请求路径:
/geo/question-recommendation/list
说明:question_type 为 1 时查询基建型提问,为 2 时查询触发型提问;不传或传 0 时查询全部类型。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
brand_id | string | 品牌 ID | 是 |
question_type | int | 0/省略=全部;1=基建型;2=触发型 | 否 |
intent_type | int | 0/省略=不筛选;1–8 为现有意图类型 | 否 |
status | string | PENDING、CONFIRMED 或 EDITED | 否 |
sort_by | string | heat_score、created_time、latest_crawl_date | 否 |
sort_order | string | asc 或 desc | 否 |
min_heat_score | number | 最低热度分数 | 否 |
date_from / date_to | string | 创建日期范围 YYYY-MM-DD | 否 |
page | int | 默认 1 | 否 |
page_size | int | 建议显式传 1–100;未指定 question_type 时省略或传 0 默认按 10 处理;指定类型时省略或传 0、或传大于 100 的值,回落为 20;负数直接返回参数错误 | 否 |
请求示例:
{
"brand_id": "1001",
"question_type": 1,
"status": "PENDING",
"page": 1,
"page_size": 20
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
message | string | 返回消息 |
data.total | int | 符合条件的推荐总数 |
data.list | object 数组 | 推荐记录列表 |
data.list[].id / brand_id | string | 推荐记录 ID / 品牌 ID |
data.list[].question_text / original_question_text | string | 当前 / 原始提问内容 |
data.list[].question_type | int | 1=基建型;2=触发型 |
data.list[].knowledge_dimension | string | 知识维度,适用时返回 |
data.list[].heat_score | number | 当前结果集相对热度,最大值归一化为 100 |
data.list[].avg_rank | number | 平均排名 |
data.list[].source_platforms | string | 来源平台,逗号分隔 |
data.list[].source_count | int | 来源次数 |
data.list[].first_crawl_date / latest_crawl_date | string | 采集起止日期 YYYY-MM-DD |
data.list[].status | string | PENDING、CONFIRMED 或 EDITED |
data.list[].is_edited | bool | 是否编辑过 |
data.list[].confirmed_time | string | 确认时间,未确认时无有效值 |
data.list[].monitor_query_id | string | 确认后关联的用户提问 ID |
data.list[].created_time / updated_time | string | RFC 3339 时间 |
data.list[].cluster_info | object | 关联意图簇,存在时返回 |
响应示例:
{
"code": 0,
"message": "success",
"data": {
"total": 1,
"list": [
{
"id": "5001",
"brand_id": "1001",
"question_text": "如何评估测试品牌A的产品服务?",
"original_question_text": "如何评估测试品牌A的产品服务?",
"question_type": 1,
"knowledge_dimension": "事实型提问",
"heat_score": 100,
"source_platforms": "doubao",
"source_count": 1,
"avg_rank": 2.0,
"first_crawl_date": "2026-10-14",
"latest_crawl_date": "2026-10-14",
"status": "PENDING",
"is_edited": false,
"created_time": "2026-10-14T09:00:00+08:00",
"updated_time": "2026-10-14T09:00:00+08:00"
}
]
}
}确认推荐并创建监控提问
- 请求方法:POST
- 请求路径:
/geo/question-recommendation/confirm
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
recommendation_id | string | 推荐记录 ID | 是 |
请求示例:
{
"recommendation_id": "5001"
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
message | string | 返回消息 |
data.recommendation_id / monitor_query_id | string | 推荐记录 ID / 新建用户提问 ID |
data.status | string | 确认后为 CONFIRMED |
data.confirmed_time | string | RFC 3339 确认时间 |
响应示例:
{
"code": 0,
"message": "推荐已确认,已添加到监控提问",
"data": {
"recommendation_id": "5001",
"monitor_query_id": "3001",
"status": "CONFIRMED",
"confirmed_time": "2026-10-14T09:10:00+08:00"
}
}查询团队模型标签
- 请求方法:POST
- 请求路径:
/geo/prompt/tag/get
说明:模型绑定使用本接口返回的模型标签 ID;/geo/api/prompt/tag/get 返回用户标签。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
tag_type | int 数组 | 标签类型筛选;查询模型传 [3] | 否 |
请求示例:
{
"team_id": "2001",
"tag_type": [
3
]
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object 数组 | 标签列表;以下字段属于每个 data[] 元素 |
data[].prompt_tag_id / team_id | string | 标签 ID / 团队 ID |
data[].tag_name | string | 标签名称;模型标签对应模型名称 |
data[].created_by | string | 创建人名称 |
data[].created_time | string (int64) | Unix 毫秒时间戳 |
data[].prompt_count | int | 关联提问数量 |
data[].tag_type | int | 1=用户;2=系统;3=模型 |
响应示例:
{
"code": 0,
"msg": "success",
"data": [
{
"prompt_tag_id": "6001",
"team_id": "2001",
"tag_name": "deepseek",
"created_by": "测试管理员A",
"created_time": "1791939600000",
"prompt_count": 2,
"tag_type": 3
}
]
}保存用户提问的模型绑定
- 请求方法:POST
- 请求路径:
/geo/prompt/tag/relation/model/replace
说明:tag_ids 全量替换指定 prompt_ids 的模型标签,其他类型标签保持不变。为分组中的提问配置模型时,可先通过查询品牌下的用户提问按 title_ids 分页获取提问 ID,再提交绑定;之后新增的提问不会自动继承此次配置。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
prompt_ids | string 数组 | 当前要更新的提问 ID,不能为空 | 是 |
tag_ids | string 数组 | 目标模型标签 ID 全量集合;[] 清空模型绑定 | 是 |
请求示例:
{
"team_id": "2001",
"prompt_ids": [
"3001"
],
"tag_ids": [
"6001"
]
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object | 成功时为空对象 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}读回用户提问的模型绑定
- 请求方法:POST
- 请求路径:
/geo/prompt/tag/relation/batch
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
prompt_ids | string 数组 | 提问 ID 列表,不能为空 | 是 |
tag_type | int 数组 | 读取模型标签传 [3] | 否 |
请求示例:
{
"team_id": "2001",
"prompt_ids": [
"3001"
],
"tag_type": [
3
]
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object 数组 | 提问与标签关联列表 |
data[].prompt_id | string | 提问 ID |
data[].tags | object 数组 | 标签列表,结构见“查询团队模型标签” |
响应示例:
{
"code": 0,
"msg": "success",
"data": [
{
"prompt_id": "3001",
"tags": [
{
"prompt_tag_id": "6001",
"team_id": "2001",
"tag_name": "deepseek",
"created_by": "测试管理员A",
"created_time": "1791939600000",
"prompt_count": 2,
"tag_type": 3
}
]
}
]
}