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

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.2.9-cp313-cp313-manylinux_2_31_x86_64.whl (926.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.9-cp313-cp313-macosx_14_0_arm64.whl (769.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

gllm_agents_binary-0.2.9-cp313-cp313-macosx_13_0_x86_64.whl (857.4 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.2.9-cp312-cp312-win_amd64.whl (711.2 kB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.2.9-cp312-cp312-manylinux_2_31_x86_64.whl (927.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.9-cp312-cp312-macosx_14_0_arm64.whl (765.2 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

gllm_agents_binary-0.2.9-cp312-cp312-macosx_13_0_x86_64.whl (851.1 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.2.9-cp311-cp311-win_amd64.whl (722.9 kB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.2.9-cp311-cp311-manylinux_2_31_x86_64.whl (850.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.9-cp311-cp311-macosx_14_0_arm64.whl (766.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

gllm_agents_binary-0.2.9-cp311-cp311-macosx_13_0_x86_64.whl (862.5 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7aa2ffbe1ad82724f71980709e7d36cba7bfaede3dc4f622db453305af1366d0
MD5 88a50a916539f9c7c36f379f558eea37
BLAKE2b-256 db4db2c37347afbc579706c693c956cfd1711a717fffcd151e0bcc02eeb26c16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6de8be08cecf8cbbbf86d2791c5292d808b49725150ba1013dd36d30bc6ef8c0
MD5 bcd16e3f5f765a451a9f0f37c5ffd40a
BLAKE2b-256 69a87ed8b7d2598dbaabb75c8bf0ae27e8ddd5cf53b80a22b685492a7320ff48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ba416f8eed11535f927382739d7c3ed752c7cfc34466524092b28663d39e7fe2
MD5 0c079d736b621be91cb8cd8eb8671c89
BLAKE2b-256 6b595baff690d16fd984f9562bd3c0c550639a30340b9814e462146b098fda98

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.9-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.9-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4382f10bd97d75db54885654412cebb5bf60087a01ab749c2ac7efe0b8f26794
MD5 6e3094c67929a97eee7b1ffe2e9eb980
BLAKE2b-256 7427e6fbe295edc9feaf7e44d1d672558de6bd37a91599577e9c0ed1df18a163

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c50904a55acda70729fe7116d83cd6abdaa0be9cd8dc25fec7f30365b906da63
MD5 b309e91713ca2d2b230b304e119a823b
BLAKE2b-256 2459477e8cf307ea45f8109d876882ab7502ea509d536e3ddb1172fb087b8952

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 7ec63135a12c548811da837637a0f57ec5c11cc6ae5d0802ed580e679dd2fcf5
MD5 b84984d8817bb0a58c06c4857b126aac
BLAKE2b-256 afc50bbde3eb6588611172b211ba63f8f5a41463a40639a546978f2ba22f79a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 453633964aa6e2e22e5a1b4dc45d3da65c744c5816782c8b00291041d85804bf
MD5 af3cbdc0ae4440cdd895ee4c8fd1396d
BLAKE2b-256 17edd734ce6612c8cc4296fb23902fde354052e8c818925a0894b333c83ddb03

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.9-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.9-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 687970e1cdb1f607d8aef98d24b558872567e651959590d51186c7cde23551b8
MD5 28a62f233edee18c993d3fd6cf494335
BLAKE2b-256 15cdafd8fc40484e25f1adf592b8fee9f999b37296a04ce3e9b0891a89c0ccc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a3e8bb753a8e3c52f54914d7200b552cbf3cb911549eb944331765fc5d3345a
MD5 6b84978b8b49f9d45d7ec4a66f808a28
BLAKE2b-256 d6d165625f84ee942d8a6926741616edc1b527afa50a0a6438412bb8f5ff8e62

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 1833172fff77aba81c2224bc1facd7cfd31a2af4c4516fb0c518dc55ce80a179
MD5 e9d71a2ecbced266c2edc8fde4be50aa
BLAKE2b-256 45b880c853e85a08939d76296e38f1ea94ac4dda5b70e1bcc08f6a2498e91df4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 71ad5a3d15b189a1a31b54a915d01d34cc8f3d8882cc508b7dca75a78a5eb1d3
MD5 4047a6aeadc7c74544129d4bbf4c1de6
BLAKE2b-256 9915a0c3f276d4d5d2f8363a27f41c197c9279e2b95003e12168b33e1b04405b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.9-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.9-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.9-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 da2af99aba6559e688081949c56f7b87ebfa1eff4d0a6fc6ade39c42f5858643
MD5 5261df0cc525c5fc0eb4dfdd4205a6f6
BLAKE2b-256 4fb9164ee58e5fcaa6f6497e8f647abe6585820820d619cf9536bc6e67ed7259

See more details on using hashes here.

Provenance

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