Skip to main content

LangDB ADK - Agent Development Kit for LangDB

A comprehensive Google ADK (Agent Development Kit) integration package for LangDB. This package provides seamless integration of LangDB's LLM capabilities, enhanced agent functionality, and distributed tracing into the Google ADK framework.

Features

  • LangDBLlm: Native integration with Google ADK's BaseLlm interface
  • LangDBAgent: Enhanced agent class with automatic LangDB callbacks and session management
  • LangDBTracing: Distributed tracing integration with OpenTelemetry
  • Session tracking and thread management across agent invocations
  • Comprehensive callback system for model, agent, and tool interactions

Installation

pip install langdb_adk

Usage with Google ADK

Basic Usage with LangDBAgent

import os
import asyncio
from langdb_adk import LangDBLlm, LangDBAgent, LangDBTracing
from google.adk.runners import InMemoryRunner

# Initialize tracing (optional but recommended)
LangDBTracing(collector_endpoint="https://api.staging.langdb.ai:4317")

async def main():
    # Create a LangDB agent with automatic callbacks and session management
    agent = LangDBAgent(
        model=LangDBLlm(model="openai/gpt-4.1"),
        name="my_agent",
        description="A simple agent with LangDB integration",
        instruction="You are a helpful assistant."
    )
    
    # Create a runner to execute the agent
    runner = InMemoryRunner()
    
    # Run the agent with a prompt
    response = await runner.run(agent, "Hello, how are you?")
    print(response.text)

if __name__ == "__main__":
    asyncio.run(main())

Basic Usage with Standard Agent (Legacy)

from langdb_adk import LangDBLlm, LangDBAgent
from langdb_adk import LangDBTracing
LangDBTracing()


root_agent = LangDBAgent(
    model=LangDBLlm(model="openai/gpt-4.1"),
    name="root_agent",
    description="A Travel Conceirge using the services of multiple sub-agents",
    instruction="You are a travel concierge that coordinates with specialist agents.",
)

Complete Example with Sub-Agents and Tracing

from langdb_adk import LangDBLlm, LangDBAgent, LangDBTracing

# Initialize tracing with LangDB collector
LangDBTracing()

# Create sub-agents for different capabilities
planning_agent = LangDBAgent(
    model=LangDBLlm(model="openai/gpt-4.1"),
    name="planning_agent",
    description="Handles travel planning tasks",
    instruction="You help users plan their travel itineraries."
)

booking_agent = LangDBAgent(
    model=LangDBLlm(model="openai/gpt-4.1"),
    name="booking_agent", 
    description="Handles travel booking tasks",
    instruction="You help users book flights, hotels, and activities."
)

# Create main agent with sub-agents
root_agent = LangDBAgent(
    model=LangDBLlm(model="openai/gpt-4.1"),
    name="root_agent",
    description="A Travel Concierge using multiple sub-agents",
    instruction="You are a travel concierge that coordinates with specialist agents.",
    sub_agents=[planning_agent, booking_agent]
)

With MCP Servers

# Configure MCP servers for LangDB
mcp_servers = [
    {
        "server_url": "server_url",
        "type": "sse",
        "name": "search",
        "description": "Web search capabilities via DuckDuckGo"
    }
]


    # Initialize the LangDB LLM with MCP servers
llm = LangDBLlm(
        model="anthropic/claude-sonnet-4",
        api_key=os.getenv("LANGDB_API_KEY"),
        project_id=os.getenv("LANGDB_PROJECT_ID"),
        mcp_servers=mcp_servers
    )
    
    # Create a LangDB agent with MCP capabilities
root_agent = LangDBAgent(
        model=llm,
        name="search_agent",
        description="Agent with web search capabilities")

Configuration

Environment Variables

  • LANGDB_API_KEY: Your LangDB API key (required)
  • LANGDB_PROJECT_ID: Your LangDB project ID (required)
  • LANGDB_TRACING_BASE_URL: Custom tracing collector endpoint (optional, defaults to https://api.us-east-1.langdb.ai:4317)

LangDBLlm Parameters

  • model: The name of the model to use (e.g., "anthropic/claude-sonnet-4", "openai/gpt-4.1")
  • api_key: Your LangDB API key (defaults to LANGDB_API_KEY env var)
  • project_id: Your LangDB project ID (defaults to LANGDB_PROJECT_ID env var)
  • extra_headers: Additional headers to include in requests
  • mcp_servers: List of MCP server configurations for extended capabilities

LangDBTracing Parameters

  • collector_endpoint: OpenTelemetry collector endpoint (defaults to LANGDB_TRACING_BASE_URL or https://api.us-east-1.langdb.ai:4317)
  • api_key: Your LangDB API key (defaults to LANGDB_API_KEY env var)
  • project_id: Your LangDB project ID (defaults to LANGDB_PROJECT_ID env var)
  • client_name: Client identifier for tracing (defaults to "adk" for LangDBAdkTracing)

Advanced Features

Session Management

LangDBAgent automatically manages session tracking across agent invocations:

  • Thread ID: Maintains consistent session IDs across agent calls within the same conversation
  • Invocation Tracking: Tracks sequence of invocations for debugging and analytics
  • State Persistence: Maintains state across callbacks and sub-agent interactions

Distributed Tracing

LangDBTracing provides comprehensive observability through OpenTelemetry:

  • Automatic Span Creation: Traces all agent, model, and tool interactions
  • Attribute Mapping: Maps ADK attributes to LangDB-specific attributes
  • Session Correlation: Links spans across different agents using consistent thread IDs
  • Run ID Tracking: Provides unique run identifiers for each execution

Custom Tracing Setup

from langdb_adk import LangDBTracing

# Use default endpoints and credentials from environment
tracing = LangDBTracing()

# Or configure custom settings
tracing = LangDBTracing(
    collector_endpoint="https://custom-collector.example.com:4317",
    api_key="your-api-key",
    project_id="your-project-id",
    client_name="adk"
)

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgements

  • Google ADK Team for the Agent Development Kit
  • OpenTelemetry community for distributed tracing standards

Release files for langdb-adk 0.1.23

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langdb-adk 0.1.23
File Size Uploaded
langdb_adk-0.1.23.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langdb-adk 0.1.23
File Interpreter ABI Platform
langdb_adk-0.1.23-py3-none-any.whl Python 3 none any Details

Total release size: 39.0 kB

Release files / langdb_adk-0.1.23.tar.gz

Download URL langdb_adk-0.1.23.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f821b6fd24200d55e179a52039bf7568ee293ef6492cc17de642bbb9cc41fc11
BLAKE2b-256 checksum
How to use checksums
612cf06c8ea5d0ad2296b5efb27f26401382f08f2fb455d5f025185743cb6e45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.3

Release files / langdb_adk-0.1.23-py3-none-any.whl

Download URL langdb_adk-0.1.23-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
751fdf654d75e15a8c41fb494dd64ea5b044ef2aa3894189a0d0dc284a5ba7b3
BLAKE2b-256 checksum
How to use checksums
8e6d931fef1439f95af3a24b87f9db17d3424e707e2a93b6b10e02b89273e65e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.3

Release history Release notifications | RSS feed

This release

0.1.23 This release

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page