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

Uploaded CPython 3.13Windows x86-64

gllm_agents_binary-0.3.15-cp313-cp313-manylinux_2_31_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.15-cp313-cp313-macosx_13_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gllm_agents_binary-0.3.15-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.15-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.3.15-cp312-cp312-manylinux_2_31_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.15-cp312-cp312-macosx_13_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.3.15-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

gllm_agents_binary-0.3.15-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.3.15-cp311-cp311-manylinux_2_31_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.3.15-cp311-cp311-macosx_13_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gllm_agents_binary-0.3.15-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 29700dbf842998c93db073add7d82ba65035b05212f4b570c5a04ff87e2db141
MD5 dc2c92ede5f15cc2847d8779ed70abe6
BLAKE2b-256 6c4f15bb64d9173c2876ee4aea7ec4643d5df3d0aedd2349c12db11eaf21124a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 90c20e753bb8508939f66a12929cad59b67250d251afe6356a072d389cea69f7
MD5 f77fd7311c331f4694f9b97838f78015
BLAKE2b-256 3af573d79dca3a5b0cf974ffc1d6007632ccaecf4d94074a48b044d2c9003e1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e4a49a830c4cba84faec12de63f161ee730a03b8c02f325fed523241ddea652f
MD5 04c9559538da376fc42ac87f0fbca187
BLAKE2b-256 c9b3619e94a1e82584ff8a343824826c9551e0ee8b6f17ce91859599a0612c6f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9fb0d1ce96fb1c10e5c1a027293575b75a39eeca046d8cda4cee28bb72649d54
MD5 69a34ea90d8deb7da34b249a488a6d98
BLAKE2b-256 0a4aef425226362e86439645be7d8aedea4314d071edf26cd1528ff1c1ee5f69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 962c6d2d4b2ff774e3d76831a15dbeb46408caee1026f5483dbf21277ba6b8ab
MD5 5487ed86ac9a36b3e9806b0f799f65bc
BLAKE2b-256 d1f2127b00734107280a1ca4d01132c3cb6b8293c2a16697d20fec4bce0d4fcd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 f56afac0d033bd10e7ce445256bb53bebe59765158ffea935121dad5964763cd
MD5 38cfcca0be0be7d52f3f92e4f8ead1ed
BLAKE2b-256 cfe4528c1eb3e4b97ca9710262a4d54f832803df809cb07bcdf8a41c6603493a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 20025df8f0672d1712b707295c67c7b1dd2303092fcfa01688a175127083cd29
MD5 144e076dea0b0bc49155cdd397a20b44
BLAKE2b-256 c943456630cd66f6a14b68eb25a4491006222ac3d1a5831b6153774ad4c25919

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3c563a2fd5aa88b8baf62d883e015e6e037c012f018fcf9071749a6fd93f05a0
MD5 7dd302421ece4a8ba075ca4a3446b9c5
BLAKE2b-256 48c4a041197cdcdad8825558f9549e816b8655cd34892d09e4481876f90cf477

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f2a615928feb3315eabc39717573de5f4b20276cf803a5ff756a4bd4e0cefb9e
MD5 df45a29062db9ab3b1245e92e3102afe
BLAKE2b-256 1c9a9ed6544f0c0f34dea18f88e54859b46b783904013515f737770f270987d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 375cf32ce499de501a68e0b5c4ff59cf0bc40e47f9cc079c1954a4c3a9a33c30
MD5 98430eee1f4c2b8fef9dbd682e01c9cf
BLAKE2b-256 765a54fdf632df3afbd48bdcde2cb4844504952412ae8b7a8b95532ec79bde57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 166dfa58582c60cd4b5f94298487fb290bd15a3e8e3308f882b58282397a776b
MD5 0a468e1c1055643c2209519424a0d216
BLAKE2b-256 a616be3b9da545aefa54dbbfe57d0e33a243e030b7dd06c05bad4ee593d6f8aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.3.15-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9b28be7346cf918b02d4e09d68620cef18162b464e18fdea3ebd2d0e9fa3c5f2
MD5 aab67d0be2008159d757f5f65fd37750
BLAKE2b-256 8017deff48d216533fd21a0b7e6acaa6148d083e0f2a8ffb7868ffe8acfd3c3f

See more details on using hashes here.

Provenance

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