Skip to main content
Stardog 是一个企业级知识图谱平台,帮助组织统一查询和分析数据。
该集成包为与 Stardog Voicebox 交互提供了 LangChain 工具和可运行对象。Voicebox 是一个自然语言问答智能体,能够从企业数据中提供无幻觉的洞察。

概述

Stardog LangChain 集成包为使用 Stardog Voicebox 提供了以下工具:
  • VoiceboxAskTool - 提问并获取自然语言答案
  • VoiceboxGenerateQueryTool - 从自然语言生成 SPARQL 查询
  • VoiceboxSettingsTool - 获取 Voicebox 应用设置
所有工具均支持同步和异步两种执行模式,适用于多种应用架构。 更多详情请参阅 GitHub 仓库

设置

安装

pip install langchain-stardog

前置条件

  • 一个 Stardog Cloud 账户
  • 已配置好数据的 Voicebox 应用
  • Voicebox API 令牌

获取 API 令牌

  1. 登录 Stardog Cloud
  2. 点击个人头像,选择 Manage API Keys
  3. 创建新应用并生成密钥。
  4. 复制 API 令牌并妥善保管。
  5. 更多详情请参阅 Stardog Voicebox API 访问文档。

凭据

将 API 令牌设置为环境变量:
import getpass
import os

if not os.environ.get("SD_VOICEBOX_API_TOKEN"):
    os.environ["SD_VOICEBOX_API_TOKEN"] = getpass.getpass("输入您的 Voicebox API 令牌: ")
可选环境变量:
os.environ["SD_VOICEBOX_CLIENT_ID"] = "my-app"  # 客户端标识符(默认:VBX-LANGCHAIN)
os.environ["SD_CLOUD_ENDPOINT"] = "https://cloud.stardog.com/api"  # 自定义端点(可选)

实例化与示例

VoiceboxAskTool

对与 API 令牌配置的知识图谱相关的问题进行自然语言提问,并获取无幻觉答案。
from langchain_stardog.voicebox import VoiceboxAskTool

# 工具自动从环境变量中读取凭据
ask_tool = VoiceboxAskTool()

# 提出一个问题
result = ask_tool.invoke({"question": "从旧金山飞往纽约的所有航班是什么?"})
print(result)
# 返回:自然语言答案

VoiceboxSettingsTool

获取 Voicebox 应用配置和元数据。
from langchain_stardog.voicebox import VoiceboxSettingsTool

settings_tool = VoiceboxSettingsTool()

# 获取应用设置
settings = settings_tool.invoke({})
print(settings)
# 返回:数据源、模式信息和功能等配置详情

VoiceboxGenerateQueryTool

根据自然语言问题生成 SPARQL 查询,而不执行查询。
from langchain_stardog.voicebox import VoiceboxGenerateQueryTool

query_tool = VoiceboxGenerateQueryTool()

# 生成 SPARQL 查询
query = query_tool.invoke({"question": "哪些航班延误超过 30 分钟?"})
print(query)
# 返回:生成的 SPARQL 查询(不执行)
请参阅 示例 部分,了解使用这些工具和可运行对象的不同方式。

类参考

更多详情请参阅 类参考 可用类:
  • VoiceboxAskTool - 提问并获取答案
  • VoiceboxSettingsTool - 获取应用设置
  • VoiceboxGenerateQueryTool - 生成 SPARQL 查询
  • VoiceboxAskRunnable - 用于自然语言提问的可运行对象
  • VoiceboxSettingsRunnable - 获取设置的可运行对象
  • VoiceboxGenerateQueryRunnable - 查询生成可运行对象
  • VoiceboxClient - Voicebox API 核心客户端

了解更多