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.3.2b1-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.3.2b1-cp313-cp313-manylinux_2_31_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.2b1-cp313-cp313-macosx_13_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.3.2b1-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.2b1-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.3.2b1-cp312-cp312-manylinux_2_31_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.2b1-cp312-cp312-macosx_13_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.3.2b1-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.2b1-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.3.2b1-cp311-cp311-manylinux_2_31_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.2b1-cp311-cp311-macosx_13_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gllm_agents_binary-0.3.2b1-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5ee5b18e2873df9114dd57aa044d54ac5c7b64a12d15b24ab1a943132fd39ff1
MD5 20740535851d4d2198c84ac6b20d8411
BLAKE2b-256 b889a2ac5fb12ad461f395bc26354240fd5033f4e79357b052303ce4c1b7184c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6ae848a8e5c662cb8af2e6727cb8b7a868a4cde7583cd7ca2dc685f831522d23
MD5 4146634c048e95309a2b7deb686bf553
BLAKE2b-256 f231b6863883a708a4de3b5d0e9a10557ea58629a30e0077d3f667d8ab6f7792

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.2b1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a20597eb89bbad17a81318164f0ab9cd50b1bd6d64d077ca28ed909e102b8701
MD5 867aef2faf60babeef5f5dad76feb31a
BLAKE2b-256 445ecf0cbefb4acaa30a1b56acdc92b668b96b57ede15cd08e18543aab5a6b32

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 810dee00fe7ca0d84925f279bf9c130c604ee3bd244d628ad45428b8ef24ca20
MD5 c63e7e09cfb50911ae635653177155ca
BLAKE2b-256 e1e9e3dd7af6fa04e936ec5a5051ab6a20eff7b65fd35ab49c1c8a4b9809d9e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2e20c4717f0cba9bdfc04bbf8eb6c9e44eb4e99a334ca9b5ce2970290dcece57
MD5 bb8ed100960e37102e06259d335cf30b
BLAKE2b-256 4efad1319e0598552fac5e0ec64c38d3ca3cf109f98489bc4fadfb7b6b69b001

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8f90c49fe32e88d67919de87b0e4ea728bb7f843b555003db8f060010965f374
MD5 eb461641a4e1d67132f4d08bc77b5886
BLAKE2b-256 bd6dcc9b6a55b99e25b692bbe3202d202a0b9fc952a157900154b3e41006db19

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.2b1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 edcac9ffec05da2cc87308fb583660977904d795383b3aeb7b7ae7b1492ae156
MD5 bd4495f9934218cfd2679f9d8073b621
BLAKE2b-256 b0d41035ff390e95d14912635abca8c835b93f6811fa8fb6c041ee0e410cdb5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 63881c5a28aec21e13bb276b90ff905fa36f006d26265a16b5da41ae791a728d
MD5 0f03f0a674b85609548f192f3497bf01
BLAKE2b-256 56030219d450c86ddcc7e54b3e38a3d35a8c27cbd73c53d18ce23173225eb673

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 28e5c651b44c92dfb049b69b8239ef6978f644e85ce46131c613b8e00a024ab6
MD5 0bfb291aeab85bedc825c837b44c7b22
BLAKE2b-256 dcbe767c6b39f0f1457c4c1dfe9f9d0814393bf2c025649a333b002c1b5d7923

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 24c8c6b0dd64679f7a622237c2a2039591928122d6d5a244dfe1471606a26bd3
MD5 2414cb9c4bb19984d31464a4595c2b6c
BLAKE2b-256 2fe8afb992bc4ce1544d73f222fcd6da3c2e455f2c04abe80df3195499cbfe1d

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.3.2b1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c68fb2c17c69e7cee2d032997ad2ab86c5df8ea30343e663f60bfd2b275ceb36
MD5 e196836a9e093b3ee5f3430f053ace24
BLAKE2b-256 97f3586cca71afc8c2b6af3f0366047897a6dc06ce1bb2ec04561b8e83f1be70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.2b1-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6af5e6c029e90e4e7144b64425bb4935d85e2a71ebfa9176ecb27c3b5332df4e
MD5 0c58188682ffe0263319af337a11df53
BLAKE2b-256 9627ce099b3cd97ce4cd63e7a62fda066aa1c3334cb4fd7d832400c75151fd61

See more details on using hashes here.

Provenance

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