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.5.tar.gz (9.5 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.5-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for langdb_adk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cc0664d91f47e757eeecfec7e7087d7284d62a5bb29e75e8cc5e7c0b770adf2f
MD5 41db91eae72b852d77795f524e3f5090
BLAKE2b-256 7fc80273aab1d69812bc49621abb2f6c92d70fe689b55e7d6d08ee844241fe5e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for langdb_adk-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6eee9037ac51f4a52cba75bb2ae942a4634233d173abe8371d179fa66f9e6b3c
MD5 558630f9121d77083223d84ea06fffd2
BLAKE2b-256 1904678b6eea0161a644f83a5bde8f0e4f39dc85643589c58a8360292b09ba2e

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