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_a2a_multi_agent_coordinator_server.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.9b1-cp313-cp313-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.4.9b1-cp313-cp313-macosx_11_0_universal2.macosx_13_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)macOS 13.0+ ARM64

gllm_agents_binary-0.4.9b1-cp313-cp313-macosx_10_13_universal2.macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)macOS 13.0+ x86-64

gllm_agents_binary-0.4.9b1-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.4.9b1-cp312-cp312-macosx_11_0_universal2.macosx_13_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)macOS 13.0+ ARM64

gllm_agents_binary-0.4.9b1-cp312-cp312-macosx_10_9_universal2.macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)macOS 13.0+ x86-64

gllm_agents_binary-0.4.9b1-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_11_0_universal2.macosx_13_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ universal2 (ARM64, x86-64)macOS 13.0+ ARM64

gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_10_9_universal2.macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)macOS 13.0+ x86-64

File details

Details for the file gllm_agents_binary-0.4.9b1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 838f80bd3b764db63b5219b8688a206beb3a085c98f51eee4f707b0e31dbf7e7
MD5 a8a562c781fd89a12f420a953309f851
BLAKE2b-256 43aa96f6731b366b1648455b1bb5feb74650eb56d569f069ad1f3019d7757e2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-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.9b1-cp313-cp313-macosx_11_0_universal2.macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp313-cp313-macosx_11_0_universal2.macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 66ccc690c57b9dc5b9928e9f538f23d802924e68f5cbf5fde59552c4b63d1f1b
MD5 14459069534ae1c01187e0e82a43be98
BLAKE2b-256 a73ab61469c2da1508fc2fc33503b0c0a8d21c6e1992c7f60581711a8fc074f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-cp313-cp313-macosx_11_0_universal2.macosx_13_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.9b1-cp313-cp313-macosx_10_13_universal2.macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp313-cp313-macosx_10_13_universal2.macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 84cbce34dc38d00554de90b6eed857936f22bc4490b707048950ce16848c2c72
MD5 8b330a9fc6d895f7d1ead6056fae6bd6
BLAKE2b-256 cc8c71724a4c6878c5b34e4f1c8d6108034d6690b61c6b7001beb1029c7246a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 442915dbf3469cb9fde8e291f6864bbabad6d52afb6fa5a17eb8e96998d25487
MD5 877040cc76bfd2841fa475e29c5585ad
BLAKE2b-256 3befc3b1bdddf00acffe1d5443f5497750a3c5e7a188566292e199c3d98cfdb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-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.9b1-cp312-cp312-macosx_11_0_universal2.macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp312-cp312-macosx_11_0_universal2.macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0b5612ac8671a31a824e122a07f3a8668f32dfb30e6ebd9300d883e79d4153a4
MD5 45c31d33fefe1c2a612da52869148d3b
BLAKE2b-256 403112ab70cd33390f2faae988963fb758b050f4bab3fed89bcac5f63f143317

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-cp312-cp312-macosx_11_0_universal2.macosx_13_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.9b1-cp312-cp312-macosx_10_9_universal2.macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp312-cp312-macosx_10_9_universal2.macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 96965e7dbe26e44e3f5cac0e78d83304889e5f8b0dfc263e1a0690005bbc9f77
MD5 43bb13967ef403a62b901a9658a89f21
BLAKE2b-256 51b9bfd792568dfd130c02b4e3ba57ca8a279950c500262662cbc6f95a8f95ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 daa8033643979a66fd7373a3e7277ee0f258652432686eec5ee9833943966ba3
MD5 df11c6a6814b70b8bfae04d613fbe25b
BLAKE2b-256 2e0e754dd740dc16c69b835ae5ae30e9b586fd4fad2e4ff023f62d2535197741

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-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.9b1-cp311-cp311-macosx_11_0_universal2.macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_11_0_universal2.macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5ba1a713c9da5dcc8ac5f88805d79becc8f83262a323589f5e773ea7fa49f30e
MD5 fdff92b5fefefe54c5955e2266efa24c
BLAKE2b-256 f8766fc78d31385f613d8050aad3be3f183a7b44a382c5b418d588d38e2673e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_11_0_universal2.macosx_13_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.9b1-cp311-cp311-macosx_10_9_universal2.macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_10_9_universal2.macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 36eef9a3cc725da107df527c3fcaef61b10cbbfa14c92776640b4e0e40ce9da6
MD5 5772cd3c8fcae01c82bebc3a355c9ed3
BLAKE2b-256 a91c071fac4c300d10852b90ea03dfcc2555972b5a6b33a2807a48add4c3142c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.4.9b1-cp311-cp311-macosx_10_9_universal2.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.

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