文档首页/ 知识图谱 KG/ API参考/ API/ 进行KBQA会话
更新时间:2024-04-24 GMT+08:00
分享

进行KBQA会话

功能介绍

知识图谱问答服务(Knowledge Base Question Answering,简称KBQA)利用机器对自然语言分析与处理能力,理解用户所提出的问题,并利用知识图谱中的结构化知识进行查询、推理,找到解决该问题的精准答案并反馈给用户,协助用户解决不同类型的问题。

URI

POST /v1/{project_id}/kg/kg-instances/{kg_id}/apps/kbqa/converse

表1 路径参数

参数

是否必选

参数类型

描述

kg_id

String

知识图谱ID。在KG服务控制台“我的图谱”页面,单击图谱名称,进入图谱详情页左上角获取知识图谱ID。

project_id

String

用户项目ID。获取方法请参见获取项目ID

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

query

String

用户的提问内容,中文英文及中英文标点符号,长度限制为1-50个字符。

session_id

String

KBQA会话ID。如不携带或为过期、无效ID,则自动创建新的会话并返回会话ID。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

answer

String

系统返回的答案。

session_id

String

本次会话的ID。如果请求体中已携带有效会话ID,则与请求体中相同,否则为新会话ID。

frame

Array of KBQARespFrame objects

系统查询答案时使用的查询语句执行信息。

表4 KBQARespFrame

参数

参数类型

描述

formatted_question

String

用户问题对应的解析,即格式化后的问题。

match_type

String

用户问题对应的匹配模板的类型,取值:系统内置模板(SYS_TEMPLATE),详情请参见系统内置模板

template_id

String

用户问题对应的匹配模板的ID。

template_name

String

用户问题对应的匹配模板的名称。

template_score

Double

匹配模板对应的匹配得分。

query

String

系统查询答案时使用的查询语句。

result

GremlinQueryRespData object

查询语句对应的查询结果。

answer

String

查询语句对应的答案文本。

表5 GremlinQueryRespData

参数

参数类型

描述

edges

Array of edges objects

关系查询结果。

runtime

Double

命令执行时间,单位为秒。

vertices

Array of vertices objects

实体查询结果。

results

Array of objects

该gremlin语句非常规格式的返回结果。

path

Array of pathItem objects

路径查询结果,为组成该路径的一系列关系的集合。

表6 edges

参数

参数类型

描述

id

String

关系ID,格式为“source(头实体ID)-target(尾实体ID)-index(关系索引值)”,如“4730302-1963128-1”,表示ID为4730302的实体和ID为1963128的实体之间的第1个关系。

index

String

关系的索引值,标识该条关系是其头尾实体的第几个关系。

label

String

关系的类型。

source

String

关系头实体ID。

target

String

关系尾实体ID。

表7 vertices

参数

参数类型

描述

id

String

实体ID。

label

String

实体类型。

properties

Map<String,Array<String>>

实体各个属性值,格式为字典数据结构,键为该实体属性名,值为字符串列表,为该实体属性值。

表8 pathItem

参数

参数类型

描述

id

String

关系ID,格式为“source(头实体ID)-target(尾实体ID)-index(关系索引值)”,如“4730302-1963128-1”,表示ID为4730302的实体和ID为1963128的实体之间的第1个关系。

index

Integer

关系的索引值,标识该条关系是其头尾实体的第几个关系。

source

Integer

关系头实体ID。

target

String

关系尾实体ID。

请求示例

进行KBQA会话,询问小明的身高

https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/1604d8170cd84440a81281e5a3a04f8b/kg/kg-instances/6cdcea01-bac0-48f6-acb5-9385ea3e24ad/apps/kbqa/converse

{
  "session_id" : "b22ce1e7-72e6-4846-86e5-65f66a882989",
  "query" : "小明的身高"
}

响应示例

状态码: 200

OK

{
  "answer" : "小明的身高是175cm。",
  "session_id" : "b22ce1e7-72e6-4846-86e5-65f66a882989",
  "frame" : [ {
    "formatted_question" : "[小明]的[身高]",
    "match_type" : "SYS_TEMPLATE",
    "template_id" : "77396e46-6eec-49bb-bb84-84faa4229090",
    "template_name" : "xx实体的xx属性",
    "template_score" : 1.0,
    "query" : "g.V('6155801785020056890').valueMap('name', '身高').path()",
    "result" : {
      "vertices" : [ {
        "id" : "6155801785020056890",
        "label" : "人物"
      } ],
      "runtime" : 0.007594787999999999,
      "results" : [ {
        "name" : [ "小明" ],
        "身高" : [ "175cm" ]
      } ]
    },
    "answer" : "小明的身高是175cm。"
  } ]
}

状态码: 400

Bad Request

{
  "error_code" : "KGP.2007",
  "error_msg" : "kg not found"
}

状态码: 403

Forbidden

{
  "error_code" : "KGP.0004",
  "error_msg" : "Auth failed"
}

状态码

状态码

描述

200

OK

400

Bad Request

403

Forbidden

错误码

请参见错误码

相关文档