Skip to main content
Stardog is an enterprise knowledge graph platform that enables organizations to unify, query, and analyze their data.
This integration package provides langchain tools and runnables for interacting with Stardog Voicebox, which is a natural language answering agent providing hallucination-free insights from your enterprise data.

Overview

The Stardog LangChain integration package provides the following tools for working with Stardog Voicebox:
  • VoiceboxAskTool - Ask questions and get natural language answers
  • VoiceboxGenerateQueryTool - Generate SPARQL queries from natural language
  • VoiceboxSettingsTool - Retrieve Voicebox application settings
All tools support both synchronous and asynchronous execution modes, making them suitable for various application architectures. For complete details, see the GitHub repository.

Setup

Installation

pip install langchain-stardog

Prerequisites

  • A Stardog Cloud account
  • A Voicebox application configured with your data
  • A Voicebox API token

Getting your API token

  1. Log in to Stardog Cloud
  2. Click on your profile icon and select Manage API Keys.
  3. Create a new application and generate a secret.
  4. Copy the API token and keep it secure.
  5. For more details, see Stardog Voicebox API access.

Credentials

Set your API token as an environment variable:
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: ")
Optional environment variables:
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)

Instantiation and examples

VoiceboxAskTool

Ask natural language questions relevant to the knowledge graph configured with your API token, and receive hallucination-free answers.
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

Retrieve Voicebox application configuration and metadata.
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

Generate SPARQL queries for the natural language question without executing them.
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
Refer to the Examples section for different ways to use these tools and runnables.

Class reference

For more details, see Class Reference Available classes:
  • VoiceboxAskTool - Ask questions and get answers
  • VoiceboxSettingsTool - Retrieve application settings
  • VoiceboxGenerateQueryTool - Generate SPARQL queries
  • VoiceboxAskRunnable - Runnable for asking natural language questions
  • VoiceboxSettingsRunnable - Settings retrieval runnable
  • VoiceboxGenerateQueryRunnable - Query generation runnable
  • VoiceboxClient - Core client for Voicebox API

Learn more


Connect these docs to Claude, VSCode, and more via MCP for real-time answers.