Skip to main content

设置与安装

要使用此功能,请安装 @sap/hana-langchain 包及其依赖项:
HanaSparqlQAAgent 是一种基于智能体的方法,用于回答存储在 SAP HANA Cloud 中的 RDF 数据库中的问题。与基于链的方法不同,智能体可以:
  1. 动态检索本体 使用专用工具
  2. 生成并执行 SPARQL 查询 迭代
  3. 自我纠正 如果查询失败或返回意外结果
  4. 逐步推理 关于复杂问题

初始化

您需要:
  • 一个 LLM 为智能体的推理提供支持
  • 一个 HanaRdfGraph(具有连接、graphUri 和本体)
请按照此处 HanaRdfGraph 的步骤了解更多关于创建 HanaRdfGraph 实例的信息。 导入 HanaSparqlQAAgent

智能体概述

智能体使用工具迭代执行以下操作:
  1. 首先检索本体以理解数据结构
  2. 根据模式生成适当的 SPARQL 查询
  3. 执行查询并解释结果
  4. 制定自然语言答案

默认设置

  • 工具:
    • retrieveOntology - 从图中以 Turtle 格式检索 RDF 本体/模式
    • executeSparql - 对 HANA RDF 图执行 SPARQL 查询
  • 系统提示词:提供默认系统提示词,包含 SPARQL 生成和工具使用的说明。
  • 中间件:ModelRetryMiddleware({maxRetries:3}) 和 ToolRetryMiddleWare({maxRetries:2}) 默认添加以防止无限循环

自定义您的智能体

您可以通过向 createAgent 提供附加参数来自定义智能体的行为:

示例:在“电影”知识图谱上进行问答

前提条件: 您必须有一个启用了 三元组存储 功能的 SAP HANA Cloud 实例。 有关详细说明,请参阅:启用三元组存储
加载 kgdocu_movies 示例数据。参见 知识图谱示例。
以下示例:
  1. 实例化 HanaRdfGraph 指向电影数据图
  2. 创建一个由 LLM 驱动的 HanaSparqlQAAgent
  3. 提出自然语言问题,并让智能体通过推理得出答案
这展示了智能体如何动态检索本体、生成 SPARQL 查询并返回人类可读的答案。
然后,设置知识图谱实例
接下来,初始化 LLM。
然后,创建 SPARQL 问答智能体。

底层工作原理是什么?

  1. 本体检索 智能体首先使用 retrieveOntology 工具以 Turtle 格式获取 RDF 模式。这使其了解可用的类、属性和关系。
  2. SPARQL 生成 根据本体和用户的问题,智能体推理要查询哪些实体和属性,然后生成一个有效的 SELECT 查询。
  3. 查询执行 智能体调用 executeSparql 工具在 HANA RDF 图上运行生成的查询。如果查询失败或返回意外结果,智能体可以自我纠正并重试。
  4. 答案制定 智能体解释查询结果,并严格基于检索到的数据制定简洁、人类可读的答案。

官方原文:src/oss/javascript/integrations/agents/sap_hana_sparql_qa_agent.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026