问答测试

控制台中内置了问答测试页面方便用户进行问答测试,输入问题模型就会匹配到对应的结果进行回答。完成实例配置后,您可针对不同场景和不同期望效果设置相应参数,通过体验问答效果,来选择最优参数。本文以控制台操作为例介绍如何进行问答测试并对可自定义的参数进行说明。

前提条件

  1. 已创建OpenSearch-LLM智能版实例,具体请参考:创建LLM智能问答版实例

  2. 已完成数据配置工作,具体请参考:数据配置

操作步骤

  1. 登录OpenSearch控制台选择LLM智能问答版,选择左侧导航栏实例管理,单击对应的实例操作栏下的管理按钮,进入实例详情页面,选择问答测试,可以向模型进行提问。

  2. 可根据搜索需求填写对应的问答参数Prompt参数文档召回参数参考图片参数Query理解参数人工干预参数其它参数,然后在对话框输入需要询问的内容,单击发送按钮

  3. 查看问答测试效果。

    image

参数说明

问答参数说明

参数

类型

必需

默认值

描述

options.chat.model

String

opensearch-qwen

选择的LLM(大语言模型),各个模型在支持的上下文长度以及最大输入、输出Token数有所区别:

上海区域
新加坡区域

Prompt

String

系统默认模板

表示该次搜索使用的Prompt。可选择的Prompt请参考:Prompt管理

question.session

Boolean

true

  • false:表示多轮对话关闭;

  • true:表示多轮对话开启,将结合近n轮对话内容返回结果;

  • session:用于标识对话来源,相同的对话来源会根据上下文进行对话。

options.chat.stream

Boolean

true

是否启用流式返回结果。

  • true: 流式返回,默认为true。

  • false:非流式返回。

Prompt参数说明

参数

类型

必需

描述

options.chat.prompt_config.attitude

String

  • 系统内置模板的参数,用来控制对话内容的语气,默认为normal。

    • normal:无。

    • polite:使用和蔼和礼貌的语气。

    • patience:使用委婉和耐心的语气。

options.chat.prompt_config.rule

String

对话内容的详细程度,默认为detailed。

  • detailed:详细和专业。

  • stepbystep:详细且按步骤。

options.chat.prompt_config.noanswer

String

无法回答问题时的回复,默认为sorry。

  • sorry:抱歉,根据已知信息无法回答该问题。

  • uncertain:我不知道。

options.chat.prompt_config.language

String

回答问题使用的语言,默认为Chinese

  • Chinese:中文

  • English:英语

  • Thai:泰语

  • Korean:韩语

options.chat.prompt_config.role

Boolean

是否开启回答角色。开启后,将定制回答的角色。

options.chat.prompt_config.role_name

String

定制回答的角色,例如:AI小助手

options.chat.prompt_config.out_format

String

输出内容的形式,默认为text。

  • text:文本。

  • table:表格。

  • list:列项。

  • markdown:markdown。

文档召回参数说明

参数

类型

必需

描述

options.retrieve.doc.filter

String

从知识库中召回筛选条件的数据时,需要明确指定相应的字段及满足的条件。默认为空。filter使用示例可参考:filter参数

支持的字段:

  • table:文档所在表。

  • raw_pk:文档主键。

  • category:文档分类。

  • score:文档分数。

  • timestamp:文档时间。

示例格式:

"filter" : "raw_pk=\"123\""   # 只从id123doc中获取数据
"filter" : "category=\"value1\""   # 只从categoryvalue1doc中获取数据
"filter" : "category=\"value1\" OR category=\"value2\"" #只从categoryvalue1value2doc中获取数据
"filter" : "score>1.0"   # 只从score大于1.0doc中获取数据
"filter" : "timestamp>1356969600"   # 只从timestamp大于2013-1-1doc中获取数据

options.retrieve.doc.top_n

Integer

召回的文档数量,默认为5个,取值范围:(0, 50]。

options.retrieve.doc.sf

Float

控制向量召回的向量分数的阈值。

  • 当没有开启稀疏向量时,取值范围为[0, 2.0],默认值是1.3,该值越小,结果越相关,但结果数会越少;反之,可能会召回不太相关的结果。

  • 但开启了稀疏向量时,默认值是0.35。其值越大,召回的结果越相关,结果数会越少;反之,结果可能会不太相关。

options.retrieve.doc.dense_weight

Float

开启稀疏向量后,控制文档召回时,稠密向量的权重。取值范围:(0.0, 1.0),默认值为0.7。

options.retrieve.doc.formula

String

指定召回时,文档排序的公式。

说明

语法请参考业务排序函数,其中的算法相关性地理位置相关性的特征不支持。

options.retrieve.doc.operator

String

在知识库召回时,question.text分词后的term的关系。该参数只有在没有启用稀疏向量时生效。

  • AND:表示所有term都需要出现才能被召回。默认为AND。

  • OR:表示只要有一个term出现就可以召回。

参考图片参数说明

参数

类型

必需

默认值

描述

options.retrieve.image.sf

Float

1

控制向量召回的向量分数的阈值。

  • 当没有开启稀疏向量时,取值范围:[0, 2.0],默认值为1.0,该值越小,结果越相关,但结果数会越少;反之,可能会召回不太相关的结果。

  • 但开启了稀疏向量时,默认值为0.5。其值越大,召回的结果越相关,结果数会越少;反之,结果可能会不太相关。

options.retrieve.image.dense_weight

Float

0.7

开启稀疏向量后,控制图片召回时,稠密向量的权重。取值范围:(0.0, 1.0),默认值为0.7。

Query理解参数说明

参数

类型

必需

取值范围

描述

options.retrieve.qp.query_extend

Boolean

-

是否对用户query进行扩展,扩展query会用来在引擎中召回文档切片。默认为false。

  • 默认为false,和原来逻辑保持一致,即表示不进行query扩展。

  • 如果设置为true,则会多一次与大模型的交互,所以回复速度会变慢。对耗时敏感的应用请勿开启。

options.retrieve.qp.query_extend_num

Integer

(0,+∞)

开启相似query扩展时,最多扩展几个query,默认值为5。

人工干预参数说明

参数

类型

必需

描述

options.retrieve.entry.sf

Float

控制召回人工干预的向量分阈值。取值范围:[0, 2.0],默认值是0.3,该值越小,结果越相关,但结果数会越少;反之,可能会召回不太相关的结果。

其它参数说明

参数

类型

必需

描述

options.retrieve.return_hits

Boolean

是否在结果中返回文档召回的结果,即response中的search_hits。

options.chat.history_max

Integer

多轮对话历史最大轮数,最大20轮,默认是1。

options.chat.link

Boolean

是否返回链接。控制模型生成的内容是否标识内容引用的来源。取值:

  • true: 内容包含来源。

  • false: 不包含。默认为false。

包含内容的返回信息实例如下:

可以通过在线扩容和离线扩容两种方式扩容ECS云盘容量[^1^]。在线扩容无需重启实例,离线扩容需要重启实例[^1^]。具体操作步骤为:在ECS控制台上选择待扩容的云盘,在操作列选择扩容,然后根据需要选择扩容方式[^1^]。如果需要扩容分区和文件系统,可以通过控制台获取或者通过控制台获取[^2^]。扩容云盘容量后,新容量生效后无法再缩小,建议合理规划存储空间[^3^]。

其中被[^^]包起来的数字表示引用结果中reference里的第几个文档。例如[^1^]表示引用reference中的第一个文档。

options.chat.rich_text_strategy

String

富文本LLM输出后处理方式(如果不存在这个配置或者为空则不开富文本,默认行为):

  • inside_response: 回答中的tag直接还原到原文里,markdown格式(注意表格直接以HTML形式插入markdown)。

  • extend_response: 回答中存在富文本tag,每个tag实际内容单独在rich_text_ref返回:图片内容url,表格内容HTML格式,代码文本格式。

详情请参见富文本功能

说明

问答测试支持通过APISDK调用。