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.7.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.7-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: langdb_adk-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 d80abdde8462fa8ac49da2581643c5d4760e7109faa23925dec877b9258daa44
MD5 901bfd5b5bce1d11c13b819a9292a94b
BLAKE2b-256 b7ccf1028fa8309e0312ad0c56dffe42244662e09c4bd11195a3c6d69c480537

See more details on using hashes here.

File details

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

File metadata

  • Download URL: langdb_adk-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 274226e1536e030f1ebca11e11c1ff581c8081cf94c297412f1c7bc538eaf5ff
MD5 b303659399f331553c5a1d248a8ca903
BLAKE2b-256 4136e35caff983da315fedc58ffa73e922f5e4979f6d89cd02df15f0413cb35a

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