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("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 的核心客户端

了解更多