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 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

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

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.2.11-cp313-cp313-win_amd64.whl (740.9 kB view details)

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.2.11-cp313-cp313-manylinux_2_31_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.11-cp313-cp313-macosx_14_0_arm64.whl (814.1 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

gllm_agents_binary-0.2.11-cp313-cp313-macosx_13_0_x86_64.whl (904.3 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.2.11-cp312-cp312-win_amd64.whl (745.1 kB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.2.11-cp312-cp312-manylinux_2_31_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.11-cp312-cp312-macosx_14_0_arm64.whl (807.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

gllm_agents_binary-0.2.11-cp312-cp312-macosx_13_0_x86_64.whl (896.7 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.2.11-cp311-cp311-win_amd64.whl (754.9 kB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.2.11-cp311-cp311-manylinux_2_31_x86_64.whl (994.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.11-cp311-cp311-macosx_14_0_arm64.whl (807.6 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

gllm_agents_binary-0.2.11-cp311-cp311-macosx_13_0_x86_64.whl (908.0 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 924c0564e7282b8fc289c7efa21676c440dbe12a6a75edc1de5a230e5fca4655
MD5 6d163f2ddcea68f5631abbe5482350b4
BLAKE2b-256 dad65b8c7342280d30b5d192b17c0a86cfc352e37af68ada11269cfce7ad324a

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 ef03f08750f68ae5d356de41764b659ab3f181da78364fa93cba297b150bca66
MD5 0a750e059f931d5c0eb2c2d626a8b8fc
BLAKE2b-256 4b4ca90f2074662c45fc1d1427c4dcff5064b269edb5a17709bb14e2df3dd9ca

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.11-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4fe9cd1ee7c300e777862e6a1f810708d7f0dc3171823c1ad7632502e6956335
MD5 28a1d2c75f30a908f66281938814140d
BLAKE2b-256 8c596f858af6edd2171e4e3f425475af28a1d4ee8271669e437e08669d1cf7ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.11-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 84f1740a64133bef8d94c84f0e3fe285440fd2d7c2d7fe6b64929e5688162025
MD5 a4f0d23af4443be2894075b49ffc3c8c
BLAKE2b-256 ed767a823b1d69652b9eb3e7b43ea9085c7aac0c17204270a1ec84c52a36e5b2

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4151e77c4648624f7e074f6da8fb24316caf45b02b739bd1bf52e9e8f0791d78
MD5 92befa78a10a6adaa0f3e99bed23a850
BLAKE2b-256 c52cf8bd9ccde7c9701940da5fa2ff7e419f3aafb9b0b9f0da6089e27b136264

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 3f16d47a7713e2db5365f0d13c5199073da4cd50039b7cf5a513188da5b315ba
MD5 90b4fdaf303dc41c7180b41b00392e1e
BLAKE2b-256 33d9c293725760aa08b0e6f23aa5ef603b932fee9e55e69f457670073330ea20

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.11-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2c7581d9aaa73f87c4b08d08d256a67a3505e4bee7b64e7c4714ef676afef2c5
MD5 f39c9580a083e2d4348e3aecd5a0b759
BLAKE2b-256 920fab81020921ad22ee94882a241f20b2e44617ff86bb286f1fbed1a72b491b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.11-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7d7cd7111a06e3493beb8d6515bac68213388ee02b85162773d119f5bd1a924b
MD5 04e15ef759f024565bfc69f6d4a7855a
BLAKE2b-256 00d101a7a3c1656ebf5fb91f35ab1c2da1ae71e5dfbe081cf5a6831c9bfa5c47

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e14feb55bac71e9a1b9b57e79b6a3febdd051f609dd679593e7383556cb2b871
MD5 00a36e87ebeb263ef49fd0de63f356f1
BLAKE2b-256 06dc08195f03585898765325948b9c65b12761a7ead6a18d65f2fdcf1d1d260f

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 2b65dd85976ca6eedfb1ab4927a72891a9049fc97d3fbdec948af69987eea970
MD5 015c3dfac42c46357bdce3df61d0dce4
BLAKE2b-256 58ff3a434d515fcf456a732e5a6e24b47e55ce7e9609f2d32b41949f13f2daef

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.11-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3c9c266969bc28ee4ee31c8eb5d2f04b6a6006a20a15e6d6be0ab5a05c35dd84
MD5 e135c3b123309e1fd2b5d5c0ea956606
BLAKE2b-256 c48437f307e7b914364cda4c79dc1ce5ead0ffc95c866acdbc2a3254bcd55326

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.11-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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.2.11-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.11-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0a2db8901eaefa5cfd68bd67d45c7de6844e4653fa81210140acd6623e9dbd2e
MD5 63d855b56e113a7a9f982e2a3f4eb1bd
BLAKE2b-256 824540f76caa04f3dc255b0dfc8a40f671fe70093c11878fbeb4951b4ffeb283

See more details on using hashes here.

Provenance

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

Publisher: build-binary.yml on GDP-ADMIN/gen-ai-internal

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