
# Web AI搜索问答 - SearchWebAI
#### 功能介绍
Web AI搜索问答
#### URI
POST /v1/{project_id}/applications/{application_id}/uni-search/web/chat
表1路径参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id     | 是    | String | **参数解释：** 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-koosearch/koosearch_06_0022.html)。 **约束限制：** 不涉及 **取值范围：** 1～64个字符，只能包含数字、字母、中划线和下划线，且必须以字母开头。 **默认取值：** 不涉及 |
| application_id | 是    | String | **参数解释：** 应用ID，获取方法请参见[获取应用ID](https://support.huaweicloud.com/api-koosearch/koosearch_06_0021.html)。 **约束限制：** 字符串 **取值范围：** 1～64个字符，只能包含数字、字母、中划线和下划线，且必须以字母开头。 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| Token        | 否    | String | **参数解释：** 用户登录后，会根据用户登录信息创建token鉴权。 通过鉴权校验用户的合法性。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                         |
| X-Auth-Token | 是    | String | **参数解释：** 接口鉴权使用的Token，Token获取方式参考：[获取IAM用户Token](https://support.huaweicloud.com/api-koosearch/koosearch_06_0009.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| repo_id            | 否    | String           | **参数解释：** 知识库ID。 **约束限制：** 不涉及 **取值范围：** 长度在1到64之间，只能包含字母、数字、下划线和短横线。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| chat_id            | 否    | String           | **参数解释：** 对话ID。 **约束限制：** 不涉及 **取值范围：** 长度在1到64之间，只能包含字母、数字、下划线和短横线。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| query              | 是    | String           | **参数解释：** 用户问题。 **约束限制：** 不涉及 **取值范围：** 非空，最大长度为20480 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| history            | 否    | Array of strings | **参数解释：** 对话历史。 实现逻辑： 1.只参考最近5轮对话 2.单轮对话只参考300\~500字。 **约束限制：** 1. 元素必须为偶数个，如 \[Question1, Answer1, Question2, Answer2\]   2. 按照对话顺序从旧到新   3. 问题 Question 必填   4. 答案 Answer 可以为空字符串，但必须占位    **取值范围：** 列表长度限制40。 **默认取值：** 不涉及 |
| stream             | 否    | Boolean          | **参数解释：** 流式输出开关。 **约束限制：** 不涉及 **取值范围：** - true： 开启流式输出   - false: 不开启流式输出    **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| prompt_template    | 否    | String           | **参数解释：** Prompt模板，提供 query、docs 上下文。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| file_ids           | 否    | Array of strings | **参数解释：** 基于文件问答。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| thinking_enabled   | 否    | Boolean          | **参数解释：** 深度思考。 **约束限制：** 不涉及 **取值范围：** - true： 进行深度思考   - false: 不进行深度思考    **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| search_enabled     | 否    | Boolean          | **参数解释：** 联网搜索。 **约束限制：** 不涉及 **取值范围：** - true： 进行联网搜索   - false: 不进行联网搜索    **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| model              | 否    | String           | **参数解释：** 模型名称 **约束限制：** 必须是平台上配置的NLP模型。平台上配置的模型可以通过ListModels接口查看。 **取值范围：** 只能由英文字母、数字及"_"、"-"组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| max_tokens         | 否    | Integer          | **参数解释：** 生成文本的最大token数量。 输入的文本加上生成的文本总量不能超过模型所能处理的最大长度。 **约束限制：** **取值范围：** 1-131072个字符。 **默认取值：** 4096                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| chat_temperature   | 否    | Float            | **参数解释：** 非搜索增强模型生成多样性 temperature值控制了生成文本时对每个候选词的概率分布 **约束限制：** 不涉及 **取值范围：** 0-1 **默认取值：** 0.6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| search_temperature | 否    | Float            | **参数解释：** 搜索增强模型生成多样性 temperature值控制了生成文本时对每个候选词的概率分布 **约束限制：** 不涉及 **取值范围：** 0-1 **默认取值：** 0.6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| presence_penalty   | 否    | Float            | **参数解释：** 文本重复度。 **约束限制：** 不涉及 **取值范围：** -2\~2 **默认取值：** 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| top_p              | 否    | Float            | **参数解释：** 生成过程中的核采样方法概率阈值 **约束限制：** 不涉及 **取值范围：** 0\~1 **默认取值：** 0.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数          | 参数类型                                                         | 描述                                                  |
|:---|:---|:---|
| chat_id     | String                                                       | **参数解释：** 对话ID。      |
| chat_result | [ChatResult] object       | **参数解释：** 对话结果。      |
| references  | Array of [Document] objects | **参数解释：** Web检索网页结果。 |
   
 表5ChatResult 
| 参数          | 参数类型    | 描述                                                                                                                         |
|:---|:---|:---|
| index       | Integer | **参数解释：** 序号。 **取值范围：** 不涉及   |
| message     | String  | **参数解释：** 文本内容。 **取值范围：** 不涉及 |
| question_id | String  | **参数解释：** 问答ID。 **取值范围：** 不涉及 |
   
 表6Document 
| 参数        | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| title     | String  | **参数解释：** 标题，使用此名称和 url 来创建一个超链接，单击该超链接会将用户带到该网页。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                    |
| content   | String  | **参数解释：** 内容。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                        |
| url       | String  | **参数解释：** 超链接。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                       |
| timestamp | String  | **参数解释：** 更新时间（上次抓取网页的时间），日期的格式为 YYYY-MM-DDTHH:MM:SS。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                |
| site_name | String  | **参数解释：** 站点名称 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                       |
| site_icon | String  | **参数解释：** 站点icon地址 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                   |
| type      | String  | **参数解释：** 搜索类型。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                      |
| id        | String  | **参数解释：** 标识。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                        |
| size      | Long    | **参数解释：** 大小。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                        |
| has_html  | Boolean | **参数解释：** 标记是否为html。 **取值范围：** - true: 是html结果   - false: 不是html结果    |
| source    | String  | **参数解释：** 来源。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                        |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                        |
|:---|:---|:---|
| error_code | String | **参数解释：** [错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。 **取值范围：** 不涉及 |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及                                                                |
   
**状态码：500**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                        |
|:---|:---|:---|
| error_code | String | **参数解释：** [错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。 **取值范围：** 不涉及 |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及                                                                |
   
#### 请求示例
Web AI搜索问答。
```
/v1/b25446daeb1a41a7953c5deba2b2677a/applications/be9b19bf-4865-4fb8-b9f8-2fd1fea98d76/uni-search/web/chat
{
  "repo_id" : "0c3fae2d-428e-454c-ad80-2e5c5fa7b33a",
  "query" : "今天天气",
  "chat_id" : "e561df11-50ba-42f0-a7fe-9bdb0e17be85",
  "file_ids" : [ ],
  "history" : [ ],
  "stream" : false,
  "thinking_enabled" : false,
  "search_enabled" : false
}
```
#### 响应示例
**状态码：200**
AI搜索响应。
```
{
  "chat_id" : "3be7ea6b-2eb4-4a87-80cd-a519ff61b701",
  "chat_result" : {
    "index" : 0,
    "message" : "“石生花”一般指**生石花**（学名：**Lithops**），是一种外形像小石头的多肉植物，原产于非洲南部干旱地区。它最大的特点是“伪装成石头”来躲避动物啃食，因此得名。以下是它的核心特点：\n\n---\n\n### **1. 长得像石头，却能开花！**\n- **外形**：两片肥厚的叶片拼成“鹅卵石”状，表面有斑点、花纹或颜色变化，完美模仿周围岩石。\n- **开花**：秋季从叶片中间的裂缝中钻出雏菊般的花朵（黄、白、粉色），被称为“会开花的石头”。\n\n---\n\n### **2. 生存技能满分！**\n- **拟态大师**：伪装成石头躲避动物，甚至能根据环境改变表面颜色。\n- **超耐旱**：原生地是沙漠，叶片储水，几个月不浇水也能活。\n- **怕水怕闷**：浇水多易烂根，土壤必须透气（沙质土最佳）。\n\n---\n\n### **3. 养护口诀：懒人福音，但别手贱！**\n- **少浇水**：春秋干透浇透，夏冬几乎断水（休眠期）。\n- **猛晒太阳**：需充足阳光，但夏季避免暴晒。\n- **别乱摸**：叶片上的“窗”（透明斑点）是它吸收阳光的器官，摸多了会损伤。\n\n---\n\n### **趣味冷知识**\n- 外号“屁股花”：因两片叶片形似圆润的屁股，英文名Lithops直译是“石头脸”。\n- 寿命超长：单株能活几十年，但生长极慢，一年可能只长几毫米。\n\n如果想养，记住它**怕水＞怕旱＞怕阴暗**，管住手别乱浇水就能活！ ?",
    "question_id" : "58ea9958-23c9-4b96-967a-6b7921497011"
  }
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | AI搜索响应。 |
| 400 | 客户端错误。  |
| 500 | 服务端异常。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。
