From b100d16a452e471a1c6589cba9824eb5ed9d14df Mon Sep 17 00:00:00 2001 From: pranavk Date: Mon, 10 Nov 2025 14:28:32 +0530 Subject: [PATCH] Adding documentation for Stardog langchain tools --- .../integrations/providers/all_providers.mdx | 8 ++ .../python/integrations/providers/stardog.mdx | 23 ++++ src/oss/python/integrations/tools/index.mdx | 2 + src/oss/python/integrations/tools/stardog.mdx | 130 ++++++++++++++++++ 4 files changed, 163 insertions(+) create mode 100644 src/oss/python/integrations/providers/stardog.mdx create mode 100644 src/oss/python/integrations/tools/stardog.mdx diff --git a/src/oss/python/integrations/providers/all_providers.mdx b/src/oss/python/integrations/providers/all_providers.mdx index 011b296cb0..1f226fada6 100644 --- a/src/oss/python/integrations/providers/all_providers.mdx +++ b/src/oss/python/integrations/providers/all_providers.mdx @@ -2504,6 +2504,14 @@ Browse the complete collection of integrations available for Python. LangChain P Q&A platform network integration. + + Enterprise knowledge graph platform. + + + diff --git a/src/oss/python/integrations/tools/stardog.mdx b/src/oss/python/integrations/tools/stardog.mdx new file mode 100644 index 0000000000..d18cf961b0 --- /dev/null +++ b/src/oss/python/integrations/tools/stardog.mdx @@ -0,0 +1,130 @@ +--- +title: Stardog +--- + +>[Stardog](https://www.stardog.com) 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](https://github.com/stardog-union/stardog-langchain). + +## Setup + +### Installation + +```bash +pip install langchain-stardog +``` + +### Prerequisites + +- A [Stardog Cloud](https://cloud.stardog.com) account +- A Voicebox application configured with your data +- A Voicebox API token + +### Getting Your API Token + +1. Log in to [Stardog Cloud](https://cloud.stardog.com) +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: + +```python +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: + +```python +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. + +```python +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. + +```python +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. + +```python +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](https://github.com/stardog-union/stardog-langchain?tab=readme-ov-file#examples) section for different ways to use these tools and runnables. + +## Class Reference + +For more details, see [Class Reference](https://github.com/stardog-union/stardog-langchain?tab=readme-ov-file#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 + +- [Stardog Voicebox Documentation](https://docs.stardog.com/voicebox) +- [Stardog Cloud](https://cloud.stardog.com) +- [GitHub Repository](https://github.com/stardog-union/stardog-langchain) +- [Stardog Community](https://community.stardog.com/)