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.

aip_agents_binary-0.4.8-cp313-cp313-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13Windows x86-64

aip_agents_binary-0.4.8-cp313-cp313-manylinux_2_31_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

aip_agents_binary-0.4.8-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

aip_agents_binary-0.4.8-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

aip_agents_binary-0.4.8-cp312-cp312-manylinux_2_31_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

aip_agents_binary-0.4.8-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

aip_agents_binary-0.4.8-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11Windows x86-64

aip_agents_binary-0.4.8-cp311-cp311-manylinux_2_31_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

Details for the file aip_agents_binary-0.4.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4144e1fb759e57ec82d6c191a8e5421409135e75073d5b6a48ab537a1727d989
MD5 8634a05b0abf536b9e4a004b8a09f3d6
BLAKE2b-256 1bf11f5796688bb2f25054e4fd24cd1b0dd7e98d5c6bf0fd46d797535510e147

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp313-cp313-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c83066ece4a7d5bac6643cfda7f572761cc7cac3d23bf15a80172a5bd1793498
MD5 3f1692367f6e4421cd8ff3f8dfbb45ab
BLAKE2b-256 d8cd869092cb29d182939332b1a1c946fe6bf3705cbb079889491104e2dfe3d1

See more details on using hashes here.

File details

Details for the file aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a3415024d703249fcb49b30cb0403875a86a9ca4f38c9fde3a68055d34aad58d
MD5 892b374374e69ca60cee1adddf06e39c
BLAKE2b-256 8eb9e0c750753eadf2c931e3ce7c53b4c0a93e0602314b96930aa3d2429bc22e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8fd4a9ef54755bcfd51a094fd21380d45f7202bc7d7af537048b93a1609ebdbd
MD5 5294887426591b738154be3694dd38b0
BLAKE2b-256 2cbafe5414b1bac3094730964e153fad5f2efc2a34ebef1cdb9bbb10bd5bed27

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp313-cp313-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a30bfebebd53757ba5e6cce76b4af3981c88ab4bd20ee48e6da8e8d397fbdf58
MD5 d36681c167698bde4d9bd9147add3ed8
BLAKE2b-256 3e1214c827b770a0890b0ba25e2d88aae4712d391e5de358c4a09219ffe77b4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp312-cp312-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 da2322fb7df932bc7311f7ccff4a0baed5b1c1c070331e0171b1f3c0ba312ad6
MD5 54c4646c783fb4a01f308619b97c8602
BLAKE2b-256 53c23492e69d6d5cf6669154070074b3942a295beb9f4133d41fd24e1b4613e8

See more details on using hashes here.

File details

Details for the file aip_agents_binary-0.4.8-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 a49b733c3598e9df7da793029f53df43df41792fbf71cbfb408a5e3c83fa736b
MD5 9dd2ae0b08e2fc5a21d7f89ce9f7a478
BLAKE2b-256 60d42f2b2981688002bfd61deb0570bbe28018e10387091a030c2462f881d969

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6fee3ecc9ac64debedc1394f27110bed0fdbbdd1a82efbcbcb3961f6546b7b06
MD5 2fae9cb9ae8bd5bf6b24b0356b9c3cc2
BLAKE2b-256 636bb43eadcea16b0a5e71bab3acb9ae120c1716b863d5760b9acb79bee41979

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp311-cp311-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 bb55a15d74c3b3885fdfaddeaa94cad898d1535097e2a71ff1026119e33f02c5
MD5 bed34e7a16ed9f8271cfa7632a420ff3
BLAKE2b-256 985077d829396a2ba7d9edcfd8e7736fd02fd5e9b6bd9771ae3ac3187c3a9be2

See more details on using hashes here.

File details

Details for the file aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8508dad8f530374d46c342616c2a369ac65488f82a4c65693272935b3520a68f
MD5 b319d348df7e4e167e8c225c0f40bb7d
BLAKE2b-256 8059f6817f1a22e1a36191f50d6b439cf3a994c0a49db51ae5eea55d857efad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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 aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6c7d7091ea56bf0b28f4bd2699646a9d0f93b608655ff98d408cdc6d08822a25
MD5 cebdcf9a2153eec017ff91e658c59cc1
BLAKE2b-256 299664cf07d43f606f6726210ca1629f35612d3e64ff3ac7f8392411e4d457d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for aip_agents_binary-0.4.8-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/glaip-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