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

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.4.4-cp313-cp313-manylinux_2_31_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.4-cp313-cp313-macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.4.4-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.4.4-cp312-cp312-manylinux_2_31_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.4-cp312-cp312-macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.4.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.4.4-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.4.4-cp311-cp311-manylinux_2_31_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.4.4-cp311-cp311-macosx_13_0_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gllm_agents_binary-0.4.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 85901dd7bde2ed59c0b2cc5cac46f2120e274bc921d0af26f9260308ad1ca240
MD5 4c19b6e1af9fd5a5848b9ab14f6457cf
BLAKE2b-256 72197842a675fdba6e8b6dd86b3f419328b90673fc7e41858819f061ccf7a1d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 583475b7915a1fca948f9c17b7f4271dbded93db1cbe9bc9cc3517d09ef4c52a
MD5 0341a4f348a1b3fcf06a1493e00c670d
BLAKE2b-256 b4b56194cbc06b0339dd06902577025052e9ce7815f6564381498608b8f0884b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 08ac109abea80faad68020486684102faf5253b5c463c45c872ffeb79a457718
MD5 4f4699f727d789cc8a886906f6c3a165
BLAKE2b-256 a3bfd8002e28dccff6f4e89138ebac022c119141b8ebe50ee8b454a8c8e96e1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0c50322ddc85a8f04c383406e8a018a0db76320f6cb82ef50dc829d3628fae02
MD5 1060b4e0ca0472f152f7261209d0807e
BLAKE2b-256 1372c31c26e352424881bcb17ef9bf27625b7872762e9c7ee4674b43bffb1d2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d020d9e318e171467f44864b5408bbb591862020cbdd44310a1b7709df54aa99
MD5 4e2fd31c5854e05991e98b5ec0f10da7
BLAKE2b-256 91a961049e9cb1308631fc1d342ce63c0dc46a6503cf00e61a40e66828633010

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 928aca16d927c38b3008ab89ab86435da2191927d816afa9c645c9c75e79368a
MD5 8e29922773e048888fb89740cc523572
BLAKE2b-256 7d396234d5f2045688df45ce32490d0c317aca2fb06f0ec4552bf12f3ef2fe32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1f8169260b9c4b1041207d204c5fbd704c87087758da2f5414b600421eb2232f
MD5 1028dc1661cc1cc35e7c383b4428f4c8
BLAKE2b-256 2b4df47f36951c54750f1f9f11e81e92383476b7272fce6df25253ed69d2e4a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bd4191f5bb2db7368a398aef24f070a14aaf92f1585890552da3795d4d2b5704
MD5 e3be0a8637a3046cc2dd483dad5934be
BLAKE2b-256 f3c0f38d570d0eb2d55ef89be4e00e4d79c3edc00c362ee12c18cb6162a47718

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c38e2b5ddd148765e43d30c1cbc7e427b852b8883a56bc7789da38ae0c9c8bb
MD5 bb11b2531349417f2234350761cf2146
BLAKE2b-256 a5fec5cbb6f824f55115a991cd399b75b5c0dcb3fe27900628fddd31060be50e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 fc8ad1e431ca57bbb8917562efebc193219ec4d218975b0513faad4ccb46a2c5
MD5 1d796c8e2e4e26204ee66dc78258e49b
BLAKE2b-256 ee1cae31c262f3889c0227868f6b4db4bdde7a335e1eda17672e9ff5c779a807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 df8c26c98331eb094c9e8e5cc9e60c9cbd1948892b0c0e6efe61393b02a07b1a
MD5 8cc4d7e1259ab405b854cce5f2b259e5
BLAKE2b-256 b2458587ce816b469ccad7718ea1f5ab955068206b3633fffb78c8b88085dba2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.4.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bef58b9897ffdecf2c61e2170fc36d48dc3071870666e541b683c6aa8d2cb9ca
MD5 b3704f4bb04117f8e45bc0b623c2a1a4
BLAKE2b-256 323db7eca5ac340a06e7008506c2b60bc238d4e5a2d618f8e47c6b3dc3faba26

See more details on using hashes here.

Provenance

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