> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Stardog 集成

> 使用 LangChain Python 与 Stardog 工具集成。

> [Stardog](https://www.stardog.com) 是一个企业知识图谱平台，使组织能够统一、查询和分析其数据。\
> 此集成包提供了用于与 Stardog Voicebox 交互的 LangChain 工具和可运行对象。Voicebox 是一个自然语言问答代理，可从您的企业数据中提供无幻觉的洞察。

## 概述

Stardog LangChain 集成包提供了以下用于与 Stardog Voicebox 协作的工具：

* `VoiceboxAskTool` - 提问并获取自然语言答案
* `VoiceboxGenerateQueryTool` - 从自然语言生成 SPARQL 查询
* `VoiceboxSettingsTool` - 检索 Voicebox 应用程序设置

所有工具都支持同步和异步执行模式，使其适用于各种应用程序架构。

完整详情，请参阅 [GitHub 仓库](https://github.com/stardog-union/stardog-langchain)。

## 设置

### 安装

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
pip install langchain-stardog
```

### 前提条件

* 一个 [Stardog Cloud](https://cloud.stardog.com) 账户
* 一个已配置好数据的 Voicebox 应用程序
* 一个 Voicebox API 令牌

### 获取 API 令牌

1. 登录 [Stardog Cloud](https://cloud.stardog.com)
2. 点击您的个人资料图标并选择 **管理 API 密钥**。
3. 创建一个新应用程序并生成一个密钥。
4. 复制 API 令牌并妥善保管。
5. 更多详情，请参阅 Stardog Voicebox API 访问。

### 凭证

将您的 API 令牌设置为环境变量：

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
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: ")
```

可选环境变量：

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
os.environ["SD_VOICEBOX_CLIENT_ID"] = "my-app"  # 客户端标识符（默认：VBX-LANGCHAIN）
os.environ["SD_CLOUD_ENDPOINT"] = "https://cloud.stardog.com/api"  # 自定义端点（可选）
```

## 实例化与示例

### VoiceboxAskTool

提出与使用您的 API 令牌配置的知识图谱相关的自然语言问题，并接收无幻觉的答案。

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
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 应用程序配置和元数据。

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
from langchain_stardog.voicebox import VoiceboxSettingsTool

settings_tool = VoiceboxSettingsTool()

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

### VoiceboxGenerateQueryTool

为自然语言问题生成 SPARQL 查询，但不执行它们。

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
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 查询，未执行
```

有关使用这些工具和可运行对象的不同方式，请参阅 [示例](https://github.com/stardog-union/stardog-langchain?tab=readme-ov-file#examples) 部分。

## 类参考

更多详情，请参阅 [类参考](https://github.com/stardog-union/stardog-langchain?tab=readme-ov-file#class-reference)

**可用类：**

* `VoiceboxAskTool` - 提问并获取答案
* `VoiceboxSettingsTool` - 检索应用程序设置
* `VoiceboxGenerateQueryTool` - 生成 SPARQL 查询
* `VoiceboxAskRunnable` - 用于提出自然语言问题的可运行对象
* `VoiceboxSettingsRunnable` - 设置检索可运行对象
* `VoiceboxGenerateQueryRunnable` - 查询生成可运行对象
* `VoiceboxClient` - Voicebox API 的核心客户端

## 了解更多

* [Stardog Voicebox 文档](https://docs.stardog.com/voicebox)
* [Stardog Cloud](https://cloud.stardog.com)
* [GitHub 仓库](https://github.com/stardog-union/stardog-langchain)
* [Stardog 社区](https://community.stardog.com/)

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs) 通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/oss/python/integrations/tools/stardog.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
