知识库
功能介绍
SDK支持使用平台插件能力,以帮助用户快速构建 LLM 应用或将 LLM 应用到自建程序中。本文内容介绍,使用知识库中存储的相关内容进行问答增强。
注意事项
调用本文API,需使用应用AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
非流式调用
请求示例
# Plugin 知识库展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
resp = plugin.do(plugins=["uuid-zhishiku"], prompt="深度合成服务提供者应当设置哪些入口")
print(resp)
#深度合成服务提供者应当设置便捷的用户申诉和公众投诉、举报入口,公布处理流程和反馈时限,及时受理、处理和反馈处理结果。
返回示例
QfResponse(
code=200,
headers={
...
},
body={
'id': 'as-981vhw8jgi',
'object': 'chat.completion',
'created': 1698058648,
'result': '深度合成服务提供者应当设置便捷的用户申诉和公众投诉、举报入口,公布处理流程和反馈时限,及时受理、处理和反馈处理结果。',
'is_truncated': False,
'need_clear_history': False,
'usage': {'prompt_tokens': 1673, 'completion_tokens': 53, 'total_tokens': 1726},
'log_id': 539802381612933814},
image=None)
流式调用
调用示例
# Plugin 知识库展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
# 流式调用
resp = plugin.do(endpoint="your_custom_endpoint", prompt="政策上规定深度合成服务提供者应当设置哪些内容?", stream=True)
for r in resp:
print(r["result"])
返回示例
QfResponse(code=200, headers={...},
body={'id': 'as-amnf7c3hg9', 'object': 'chat.completion', 'created': 1698230717, 'sentence_id': 0, 'is_end': False, 'is_truncated': False, 'result': '政策上规定深度合成', 'need_clear_history': False, 'usage': {'prompt_tokens': 1335, 'completion_tokens': 9, 'total_tokens': 1344}, 'log_id': 4287202150558504277}, image=None)
QfResponse(code=200, headers={...},
body={'id': 'as-amnf7c3hg9', 'object': 'chat.completion', 'created': 1698230718, 'sentence_id': 1, 'is_end': False, 'is_truncated': False, 'result': '服务提供者应当设置显著标识功能,并提示使用者深度合成情况。', 'need_clear_history': False, 'usage': {'prompt_tokens': 1335, 'completion_tokens': 27, 'total_tokens': 1371}, 'log_id': 4287202150558504277}, image=None)
QfResponse(code=200, headers={...},
body={'id': 'as-amnf7c3hg9', 'object': 'chat.completion', 'created': 1698230719, 'sentence_id': 2, 'is_end': True, 'is_truncated': False, 'result': '', 'need_clear_history': False, 'usage': {'prompt_tokens': 1335, 'completion_tokens': 0, 'total_tokens': 1371}, 'log_id': 4287202150558504277}, image=None)
参数说明
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
prompt | string | 是 | 查询信息。说明: (1)成员不能为空 (2)长度不能超过1000个字符 |
plugins | list[string] | 是 | 需要调用的插件,参数为插件ID,插件ID可在插件列表-插件详情中获取。 (1)最多3个插件,最少1个插件。 (2)当多个插件时,插件触发由大模型意图判断控制。 (3)当只有1个插件时,强制指定使用该插件工具。 参数示例:["...", "..."] |
stream | bool | 否 | 是否以流式接口的形式返回数据,默认false,可选值如下: (1)true: 是,以流式接口的形式返回数据 (2)false:否,非流式接口形式返回数据 |
llm | dict | 否 | llm相关参数,不指定参数时,使用调试过程中的默认值。 参数示例:"llm":{"temperature":0.1,"top_p":1,"penalty_score":1} |
input_variables | dict | 否 | 说明: (1)如果prompt中使用了变量,推理时可以填写具体值; (2)如果prompt中未使用变量,该字段不填。 参数示例:"input_variables":{"key1":"value1","key2":"value2",} key1、key2为配置时prompt中使用了变量key |
history | dict | 否 | 聊天上下文信息。 参数示例: [{"role":"user","content":"..."},{"role":"assistant","content":"..."},...] |
verbose | bool | 否 | 是否返回插件的原始请求信息,默认false,可选值如下: true:是,返回插件的原始请求信息meta_info false:否,不返回插件的原始请求信息meta_info |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | int | 唯一的log id,用于问题定位 |
id | string | 本轮对话的id |
object | string | 回包类型。 chat.completion:多轮对话返回 |
created | int | 时间戳 |
sentence_id | int | 表示当前子句的序号,只有在流式接口模式下会返回该字段 |
is_end | bool | 表示当前子句是否是最后一句,只有在流式接口模式下会返回该字段 |
result | string | 插件返回结果 |
is_truncated | bool | 当前生成的结果是否被截断 |
need_clear_history | bool | 表示用户输入是否存在安全,是否关闭当前会话,清理历史会话信息 true:是,表示用户输入存在安全风险,建议关闭当前会话,清理历史会话信息 false:否,表示用户输入无安全风险 |
ban_round | int | 当need_clear_history为true时,此字段会告知第几轮对话有敏感信息,如果是当前问题,ban_round = -1 |
usage | usage | token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑) |
meta_info | dict | 插件的原始请求信息 |
usage说明
名称 | 类型 | 描述 |
---|---|---|
prompt_tokens | int | 问题tokens数 |
completion_tokens | int | 回答tokens数 |
total_tokens | int | tokens总数 |
meta_info说明
名称 | 类型 | 描述 |
---|---|---|
plugin_id | string | 插件 Id,为“uuid-zhishiku” |
request | dict | 知识库原始请求参数 |
response | dict | 知识库原始返回结果 |
request说明
名称 | 类型 | 描述 |
---|---|---|
query | string | 用于查询知识库的用户请求 |
kbIds | list[Any] | 使用知识库的 Id 列表 |
score | float | 分片和query的相似度分数的下限,低于该下限的文档分片不会被返回 |
topN | int | 返回的最相关的文档数 |
response说明
名称 | 类型 | 描述 |
---|---|---|
retCode | int | 错误码 |
message | string | 错误信息 |
result | dict | 返回结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
besQueryCostMilsec3 | int | bes查询耗时 |
dbQueryCostMilsec1 | int | db查询耗时 |
embeddedCostMilsec2 | int | embedding查询耗时 |
responses | dict | 知识库返回的最相关文档信息 |
urlSignedCostMilsec4 | int | bos url生成耗时 |
responses说明
名称 | 类型 | 描述 |
---|---|---|
contentUrl | string | 文档分片的下载地址 |
docId | string | 文档 Id |
docName | string | 文档的名称 |
kbId | string | 文档上传的知识库 Id |
score | float | 当前分片和用户请求的相关度,取值范围(0-1) |
shardId | string | 分片 ID |
shardIndex | int | 分片序号 |
content | string | 分片的实际内容 |
最后修改时间: 1 年前