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.4.3-cp313-cp313-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.4.3-cp313-cp313-manylinux_2_31_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.3-cp313-cp313-macosx_13_0_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.4.3-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.4.3-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.4.3-cp312-cp312-manylinux_2_31_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.3-cp312-cp312-macosx_13_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.4.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.4.3-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.4.3-cp311-cp311-manylinux_2_31_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.3-cp311-cp311-macosx_13_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gllm_agents_binary-0.4.3-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d3c776c57186552b89f8b91f619bf6b4a03f814823788cdb1123675df499ab7c
MD5 70006b4e6ed8c4695f0b3536785e9d26
BLAKE2b-256 4c3b9d88f9d3d9b5927498572aed8e308f6e61d68830d8e9b0bc04c8a3e13524

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 1ded277f4cde4d660cc8997aea00550b4357b003d445c41ffd3f28681cee4ec7
MD5 d74b6dc5bef084edcc861dfa23dcc636
BLAKE2b-256 52574c3630b9af516947b829878c8d848fa16b1a66dd6fd62b0187f36358745a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 769bfbeef8ea1add44892a0c09f9f7a6dd055ae79efffe7b6485a4a6ece16318
MD5 ed5ec19968a711c4a401e5684e2750d5
BLAKE2b-256 a5826ddd9b19ce75a4a52ec616e270fd2b39d462ed646c1780a371d231dcb33c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 7dbcc4949c4ad485d3a5d76f63ac66c871aa4248d72c86c8d35ff324acb80ebb
MD5 7841e03456f00a8e225152219c48de35
BLAKE2b-256 80aaf4357ec87d3959378c2287175242b30af3534f2f65dc7659ee54d34233c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f4ee74116803d0f3fd1edc23881f8c6d08804350d6202b7cab7579f7231ce5f
MD5 7500b8c8443a55a6c1bf0f08e9bd10c7
BLAKE2b-256 db9f07e384feb36df1e7f24f57cee960e43849cf8d88f7aa531a4b85cd615695

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8019ed33070a05f81d7cf50125b8a3e3c15113f420deaa6d067aca2db28d3bc1
MD5 9c7ddd31bc855c574ab8f01201d51671
BLAKE2b-256 5780989e8b1ad092364acefae586b8845131a79fae8d19f5f3fa43d69a68be3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1fc875870f782ee4935109d314c93e8e7acf3393e3f3f8dd04e08cb848c96e2a
MD5 2568bde2e70e85fc0d03cf79f0329094
BLAKE2b-256 0ffaa0e5488c1178f42a1ff3101b0d63a5510343d607c599c94f8894cbfc8a3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 242f284be70c30ec308596b2d59b1104ebba2ce1e7dd2e2cae84d982f9b90f78
MD5 0bbadc64cc10f887623b8803a71e3e6b
BLAKE2b-256 6bcc1aa22c6626cad4618450006b7f75fdc0d3941f4fbdd95315f0637b4b42d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c5372ac2ccb24bb038cbd6fa497e7f33ae210dbddf1efdda42aa3803ea78f03
MD5 4eb3878c7ff4f6f8a8d9ec3391a72245
BLAKE2b-256 763495cab5e2f9de2e05ee1c6ac957652d7e56a24f4ed01ad2247405cbb80b50

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 085cb1b1b465db242884a6922b4c33fe265ef7c356ed74db849dc1dfed956b96
MD5 7364d3425c573f393852d8909fc8f2f2
BLAKE2b-256 01214b943809be92ba83739b98bfbab4555d7cf1af54c2061bec086b9dc9d03f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 54e2a770b6e26116f5d8478979782f000d85cd6dfbec2366fc429e689a3e4fdc
MD5 d9426c2b8d2887a36454a32f0c755bf1
BLAKE2b-256 40d3c4d0335018862cfa11a6fdb1d9b27be4993c6923c42d6611f00ff4476a79

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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.4.3-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.3-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 664d152bea5d4bd487397dc13afcaa3bfa4c78b1c78e018f712d88bc50578eeb
MD5 08482a892cab9197a6e8d4762d19c3fa
BLAKE2b-256 04458c7dda68320d962125b3cba02e4eedf760c1db4cdd3b491358b76bf05a14

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.3-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