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

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.2.16-cp313-cp313-manylinux_2_31_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_x86_64.macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64macOS 15.0+ x86-64

gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (986.1 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.2.16-cp312-cp312-win_amd64.whl (932.8 kB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.2.16-cp312-cp312-manylinux_2_31_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_x86_64.macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64macOS 15.0+ x86-64

gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (979.0 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.2.16-cp311-cp311-win_amd64.whl (953.8 kB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.2.16-cp311-cp311-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_x86_64.macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64macOS 15.0+ x86-64

gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (978.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb8cb7de592b92e340fbb5050ade845ff17f7f83aa5024e141fef55ab673872f
MD5 7cd7e69da139e9e8bb3daccf89f26fe2
BLAKE2b-256 57f8d1e6ca9dbb7839abc8df0799599b88d1e926845a8873ee9f310458776651

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e8da03dfd6ae8ac725280ecca6aae1eddc449332a541ef5d00eb6dad80c9ca10
MD5 bee7d4e40c41a2b43534fb2326fac01d
BLAKE2b-256 cd078a74e7265c409a714a309ae23177804c319764314d965cb97e79ae13351d

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_x86_64.macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_x86_64.macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 36c161e8b72c3e82b4a54839106c9eb84d3e8e2623da8ede37917f951b95e662
MD5 8cd94295ba5cdab66af4dea9d737fad0
BLAKE2b-256 9dae38a20c316028d379a64ee3e8eabe00d8384be91dbbff0ef3932d17d1e71b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_x86_64.macosx_15_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.16-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ce0fc159e0f89db58fe1e96064eacf9ace55638e6747e69b868696e4a700eb44
MD5 3e00acfaefeb7a82e5baae84b8a5e66a
BLAKE2b-256 121b293f250f1e617647cd8a764ea976c1807648f628a098f1145b896f9d031c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp313-cp313-macosx_13_0_arm64.macosx_15_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.16-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 05724be4589daae354f22ad45a3a706f3bcb81332cc4dece3800d60a92ac4dce
MD5 d31912e8fa1adb0ff44ffce5b63710c5
BLAKE2b-256 ed0fa4813245c7f7bd764ca5c446ed837b677a3d2467fccd11452b37a4da1e03

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 034fa2e444996392b4ea14404686dd7c14a837c7014283ecabd5a71609ba01dc
MD5 355e9b4df764d60b9f1d2c0c06e3f1d9
BLAKE2b-256 6ac63dfe4fa1678f0496e1146a30f34f5d426a088db4516e4fa523df897cf1ae

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_x86_64.macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_x86_64.macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 34b8d69d57a2c5d0ac1754d323290a2538dd1489d6b97cc1b1e2232a07036f41
MD5 31712b47420e776e5a87af0c9cc26195
BLAKE2b-256 6dbfdd5c0174f4cc0db49eada488212708d2289574827c1eb310667616783988

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_x86_64.macosx_15_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.16-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5a608980aad099f6907b50b6b7932ade87a3123f13c96deb12f00bea13efc4e0
MD5 6efac1e8ce632ddbc0a67f273cb92201
BLAKE2b-256 23a0f5314d1b4fe06726c27ac53757d2e817e43c1c4229873d9a54e11ce7e97c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp312-cp312-macosx_13_0_arm64.macosx_15_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.16-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bc4eaae6b62c56453724ff535158e71aeed26208ba0172a4af28baf6e17327e1
MD5 8444ccf6fd54c92d337720242aef36cb
BLAKE2b-256 17fd5e5ef691b834b648e68055ebc7ff887667305c8bb795ca05755e7889300c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 b488a56a46f01809a4a6a26275f19e05bb43f6d019e252a9cb636a208c9dd7e4
MD5 5f7cd40afada0545f323205d6972f01e
BLAKE2b-256 0f94fa58e073fddb6bf1d13746c0c6d89ccf8b741432c05297ca53c3a273d509

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_x86_64.macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_x86_64.macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 8c88fc4372305e833554cc6aee4d8e78566744a9e963fad04722d5679581d0de
MD5 6f69b48f9eabd5cdbdbfbd7c229868f6
BLAKE2b-256 dc0e32ecfd9b646c9dee9593bc53faf1a1a1f5f3382a8a8e565b94381356f667

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_x86_64.macosx_15_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.16-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3310280a0ec503b9a4f8dc4621a26439dd95e94fe47c5c20a8d432b0820cffeb
MD5 e1c2425ec8d2b1a671b591f9e5370cc2
BLAKE2b-256 7a727cddbfd894c0a3d40bfb96fdcd92ef33e008810e4b051430a2d17d167c81

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.16-cp311-cp311-macosx_13_0_arm64.macosx_15_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.

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