Skip to main content

Google ADK model implementation for LangDB's LLM API.

Project description

LangDB LLM for Google ADK

A Google ADK (Agent Development Kit) model implementation for LangDB's LLM API. This package provides seamless integration of LangDB's LLM capabilities into the Google ADK framework.

Features

  • Native integration with Google ADK's BaseLlm interface
  • Support for both streaming and non-streaming completions
  • Built-in function calling support
  • Integration with MCP (Model Control Protocol) servers
  • Asynchronous API compatible with ADK's execution model
  • Automatic handling of tool execution and responses

Installation

pip install -e .

Usage with Google ADK

Basic Usage

import os
import asyncio
from google.adk import Agent
from langdb_adk import LangDBLlm
from google.adk.runners import InMemoryRunner

async def main():
    # Initialize the LangDB LLM with your credentials
    llm = LangDBLlm(
        model_name="anthropic/claude-sonnet-4",
        api_key=os.getenv("LANGDB_API_KEY"),
        project_id=os.getenv("LANGDB_PROJECT_ID")
    )
    
    # Create an ADK agent with the LangDB LLM
    agent = Agent(llm=llm)
    
    # 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())

With MCP Servers

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

async def main():
    # Initialize the LangDB LLM with MCP servers
    llm = LangDBLlm(
        model_name="anthropic/claude-sonnet-4",
        api_key=os.getenv("LANGDB_API_KEY"),
        project_id=os.getenv("LANGDB_PROJECT_ID"),
        mcp_servers=mcp_servers
    )
    
    # Create an ADK agent with the LangDB LLM
    agent = Agent(llm=llm)
    
    # Create a runner to execute the agent
    runner = InMemoryRunner()
    
    # Run the agent with a prompt that can use MCP tools
    response = await runner.run(agent, "Search for the latest news about AI")
    print(response.text)

Configuration

Environment Variables

  • LANGDB_API_KEY: Your LangDB API key (required)
  • LANGDB_PROJECT_ID: Your LangDB project ID (required)

LangDBLlm Parameters

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langdb_adk-0.1.6.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langdb_adk-0.1.6-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file langdb_adk-0.1.6.tar.gz.

File metadata

  • Download URL: langdb_adk-0.1.6.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for langdb_adk-0.1.6.tar.gz
Algorithm Hash digest
SHA256 ae93566d1f299c82df2494445e5204c2aea8303192f88528819b46c23513ddd7
MD5 f83d9515fb4d263c365c1585cd74806d
BLAKE2b-256 9aed57800ce3b8e08e5190fd7798556f4e7a395b1ea1d0457cd15ec482a662ea

See more details on using hashes here.

File details

Details for the file langdb_adk-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: langdb_adk-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for langdb_adk-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9ac0df88bf4a0f7a393b0864379bf90d1b36134da5d9c3d24b2174267d465fb6
MD5 8952ea2d3b974d9c768a9c9d27717886
BLAKE2b-256 b823f6a8a61cf37e9199e67d634b7bcd852457cc74f21a4437840bdae4b36851

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page