Skip to main content

设置与安装

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

初始化

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

智能体概述

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

默认设置

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

自定义您的智能体

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

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

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

底层工作原理是什么?

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

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