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. 点击您的个人资料图标并选择 管理 API 密钥
  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("Enter your Voicebox API token: ")
可选环境变量:
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": "What are all flights from San Francisco to New York?"})
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": "Which flights are delayed by more than 30 minutes?"})
print(query)
# 返回:生成的 SPARQL 查询,未执行
有关使用这些工具和可运行对象的不同方式,请参阅 示例 部分。

类参考

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

了解更多