> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-zh.cn/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 工具和可运行对象，Stardog 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"  # Client identifier (default: VBX-LANGCHAIN)
os.environ["SD_CLOUD_ENDPOINT"] = "https://cloud.stardog.com/api"  # Custom endpoint (optional)
```

## 实例化和示例

### VoiceboxAskTool

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

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

# Tools automatically load credentials from environment variables
ask_tool = VoiceboxAskTool()

# Ask a question
result = ask_tool.invoke({"question": "What are all flights from San Francisco to New York?"})
print(result)
# Returns: Natural language answer
```

### VoiceboxSettingsTool

检索 Voicebox 应用程序配置和元数据。

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

settings_tool = VoiceboxSettingsTool()

# Get application settings
settings = settings_tool.invoke({})
print(settings)
# Returns: Configuration details like data sources, schema info, and capabilities
```

### VoiceboxGenerateQueryTool

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

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

query_tool = VoiceboxGenerateQueryTool()

# Generate a SPARQL query
query = query_tool.invoke({"question": "Which flights are delayed by more than 30 minutes?"})
print(query)
# Returns: Generated SPARQL query without executing it
```

请参阅 [示例](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="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/i18n\zh-CN\oss\python\integrations\tools\stardog.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>

  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>
</div>
