Skip to main content

A library for managing agents in Gen AI applications.

Project description

GLLM Agents

Description

A library for managing agents in Generative AI applications.

Installation

Prerequisites

1. Installation from Artifact Registry

Choose one of the following methods to install the package:

Using pip

pip install gllm-agents-binary

Using Poetry

poetry add gllm-agents-binary

2. Development Installation (Git)

For development purposes, you can install directly from the Git repository:

poetry add "git+ssh://git@github.com/GDP-ADMIN/gen-ai-internal.git#subdirectory=libs/gllm-agents"

Managing Dependencies

  1. Go to root folder of gllm-agents module, e.g. cd libs/gllm-agents.
  2. Run poetry shell to create a virtual environment.
  3. Run poetry lock to create a lock file if you haven't done it yet.
  4. Run poetry install to install the gllm-agents requirements for the first time.
  5. Run poetry update if you update any dependency module version at pyproject.toml.

Contributing

Please refer to this Python Style Guide to get information about code style, documentation standard, and SCA that you need to use when contributing to this project

  1. Activate pre-commit hooks using pre-commit install
  2. Run poetry shell to create a virtual environment.
  3. Run poetry lock to create a lock file if you haven't done it yet.
  4. Run poetry install to install the gllm-agents requirements for the first time.
  5. Run which python to get the path to be referenced at Visual Studio Code interpreter path (Ctrl+Shift+P or Cmd+Shift+P)
  6. Try running the unit test to see if it's working:
poetry run pytest -s tests/unit_tests/

Hello World Examples

Prerequisites

  • Python 3.13+
  • Install the binary package:
pip install gllm-agents-binary
  • For OpenAI: Set your API key in the environment:
export OPENAI_API_KEY=your-openai-key
  • For Google ADK: Set your API key in the environment:
export GOOGLE_API_KEY=your-google-api-key

Run the Hello World Examples

The example scripts are located in the gllm_agents/examples directory within the library. You can run them individually or use the run_all_examples.py script.

1. Running Individual Examples:

Navigate to the library's root directory (e.g., libs/gllm-agents if you cloned the repository).

LangGraph (OpenAI):

python gllm_agents/examples/hello_world_langgraph.py

LangGraph with BOSA Connector (OpenAI):

python gllm_agents/examples/hello_world_langgraph_bosa_twitter.py

LangGraph Streaming (OpenAI):

python gllm_agents/examples/hello_world_langgraph_stream.py

LangGraph Multi-Agent Coordinator (OpenAI):

python gllm_agents/examples/hello_world_multi_agent_coordinator.py

Google ADK:

python gllm_agents/examples/hello_world_google_adk.py

Google ADK Streaming:

python gllm_agents/examples/hello_world_google_adk_stream.py

LangChain (OpenAI):

python gllm_agents/examples/hello_world_langchain.py

LangChain Streaming (OpenAI):

python gllm_agents/examples/hello_world_langchain_stream.py

2. Running Individual MCP Examples:

  • Navigate to the library's root directory (e.g., libs/gllm-agents if you cloned the repository).

  • Open a new terminal and navigate to the sample MCP servers directory libs/gllm-agents/gllm_agents/examples/mcp_servers

    Turn on the SSE MCP servers:

    python mcp_server_sse.py
    
  • Open a new terminal and navigate to the sample MCP servers directory libs/gllm-agents/gllm_agents/examples/mcp_servers

    Turn on the STDIO MCP servers:

    python mcp_server_stdio.py
    

LangGraph SSE Transport (OpenAI):

python gllm_agents/examples/hello_world_langgraph_mcp_sse.py

LangGraph Streaming SSE Transport (OpenAI):

python gllm_agents/examples/hello_world_langgraph_mcp_sse_stream.py

LangGraph STDIO Transport (OpenAI):

python gllm_agents/examples/hello_world_langgraph_mcp_stdio.py

LangGraph Streaming STDIO Transport (OpenAI):

python gllm_agents/examples/hello_world_langgraph_mcp_stdio_stream.py

Google ADK SSE Transport:

python gllm_agents/examples/hello_world_google_adk_mcp_sse.py

Google ADK Streaming SSE Transport:

python gllm_agents/examples/hello_world_google_adk_mcp_sse_stream.py

Google ADK STDIO Transport:

python gllm_agents/examples/hello_world_google_adk_mcp_stdio.py

Google ADK Streaming STDIO Transport:

python gllm_agents/examples/hello_world_google_adk_mcp_stdio_stream.py

LangChain SSE Transport (OpenAI):

python gllm_agents/examples/hello_world_langchain_mcp_sse.py

LangChain Streaming SSE Transport (OpenAI):

python gllm_agents/examples/hello_world_langchain_mcp_sse_stream.py

LangChain STDIO Transport (OpenAI):

python gllm_agents/examples/hello_world_langchain_mcp_stdio.py

LangChain Streaming STDIO Transport (OpenAI):

python gllm_agents/examples/hello_world_langchain_mcp_stdio_stream.py

3. Running Individual A2A Examples:

  • Navigate to the library's root directory (e.g., libs/gllm-agents if you cloned the repository).
  • Open a new terminal and navigate to the gllm_agents/examples directory to run the A2A server.

LangChain Server:

python hello_world_a2a_langchain_server.py
  • Open a new terminal and navigate to the gllm_agents/examples directory to run the A2A client.

LangChain Client:

python hello_world_a2a_langchain_client.py

LangChain Client Integrated with Agent Workflow:

python hello_world_a2a_langchain_client_agent.py

LangChain Client Streaming:

python hello_world_a2a_langchain_client_stream.py

Architectural Notes

Agent Interface (AgentInterface)

The gllm_agents.agent.interface.AgentInterface class defines a standardized contract for all agent implementations within the GLLM Agents ecosystem. It ensures that different agent types (e.g., LangGraph-based, Google ADK-based) expose a consistent set of methods for core operations.

Key methods defined by AgentInterface typically include:

  • arun(): For asynchronous execution of the agent that returns a final consolidated response.
  • arun_stream(): For asynchronous execution that streams back partial responses or events from the agent.

By adhering to this interface, users can interact with various agents in a uniform way, making it easier to switch between or combine different agent technologies.

Inversion of Control (IoC) / Dependency Injection (DI)

The agent implementations (e.g., LangGraphAgent, GoogleADKAgent) utilize Dependency Injection. For instance, LangGraphAgent accepts an agent_executor (like one created by LangGraph's create_react_agent) in its constructor. Similarly, GoogleADKAgent accepts a native adk_native_agent. This allows the core execution logic to be provided externally, promoting flexibility and decoupling the agent wrapper from the specific instantiation details of its underlying engine.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

gllm_agents_binary-0.3.9-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.3.9-cp313-cp313-manylinux_2_31_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.9-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.3.9-cp312-cp312-manylinux_2_31_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.9-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.3.9-cp311-cp311-manylinux_2_31_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

Details for the file gllm_agents_binary-0.3.9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5fae22420422714d10d35afa3927f1db6e1b07879e7df8062631b90e9bfb9c42
MD5 bdd76d9a9434aa20cf04b957d4f19d09
BLAKE2b-256 e71636dd418fa5a4a81e339e5b62386984be69a525fc009736cf022387cc69e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp313-cp313-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 3d1c1a4795f72f6c6e3e92909ad5cfa2bd840d72a91a8ec45954436fc3983158
MD5 7d75c57f2c9808d42394bc8f6bb60f3f
BLAKE2b-256 1d9440e0ded364524ec4d1c69243db2b771d5d3ed771e27c9c52cfb63f08cd9b

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6caecf2ef4264adafacbf7009f8ac3816f248a9659cca78212d009716fd0c841
MD5 dbbf9bae3276a8b72c0b8616689fd601
BLAKE2b-256 e6d45d25bc0391215c9b55b82aebc403cb099568f482df132e454087890ecd73

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1583c378ecb5581e45c7b71aa625423307cb50570681663ba28cef1980acc021
MD5 6bad37a6d85b5da372eab14e6e87a219
BLAKE2b-256 08489c194413cbec04b540fe3c4b9e0430f86a0bc7943ccf2eb432b1a2fb3c59

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d560cb370ca8be376add26e8a6c9ce79cb8cf48e127623b4b636544357f70424
MD5 d86d26332d8197b3ff6c16d7dddcb6d8
BLAKE2b-256 668e01eb6f9950c25e31386d4b464ca39e12cd34552c64d4158ee42d658afbba

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp312-cp312-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e67dea88ed6530c16b65f5037db8ceac1a44b98f7b0ee60687541922658fe26b
MD5 348c2177ddb4ed764eafe0f81ac0a350
BLAKE2b-256 1ea45cfdfe7a47989766f22f831ac50822871adb3dc620c3a564c4f15a4cccf2

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 5a0def128251b6ab93055c9b633fb3bae872f1c4635291db7a9bcba659532ae4
MD5 074e4d0afe2b0dcd370ed2e50871afa0
BLAKE2b-256 786c26050f98a9fa570593a7c569db719a8ac6be3667849baede59f4296f06a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bd899a6055faf0181e03b5f7cea4b42f2363bcd6eca59ad53e5ed8707fa1751b
MD5 fda9887ef6dda6f161865014acdf5287
BLAKE2b-256 3a676d6d4c547ba90b0120db1064bfdd40c58e08ceceeb91d84ae418d5282f80

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1ec7eb85a611e1819302b68b4ceb935eb95aa77f2edfbd230599bd43ed376388
MD5 d51cd00ad65345564d27a13c94b7ed41
BLAKE2b-256 e166d3b9c5afe65976c3db9413bd798bfc351b334fa85e974b5b37e87e2d34c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp311-cp311-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e5b6d95f7ac3800d976a2cb416cecb290fe94595cdd6632d5a821fb1880c54ae
MD5 57d188a3c66dbcd1ede767f1fc36aafb
BLAKE2b-256 261d332dd3fef29311dd7b6d2e717f8a8fe8f9f8e9be152b7ce934d27564d098

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3bebf4188abb4e92673f8e2c4b239b740dac6ed08aecc0a9ca044580d023bc9d
MD5 d34ec3156152668c67863f30f5cea031
BLAKE2b-256 4424935c0647d3da4c7bc7c8145941bf336594461d4a7d6a0f78ac3871a8dd40

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 896333cf3744d9b8ec1d3e09ab37bbd60e65057f3a23e9480afeb03056e295c9
MD5 78f2491208f788824c4454cefea2b3c9
BLAKE2b-256 22412cff6368e00d0c057cd7c5889be52246ecf144a67024e1ef3d699a97cf9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.3.9-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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