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.11+
  • 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
# or, if your PYTHONPATH is set up or the package is installed:
# python -m gllm_agents.examples.hello_world_langgraph

LangGraph Streaming (OpenAI):

python gllm_agents/examples/hello_world_langgraph_stream.py
# or, if your PYTHONPATH is set up or the package is installed:
# python -m gllm_agents.examples.hello_world_langgraph_stream

Google ADK:

python gllm_agents/examples/hello_world_google_adk.py
# or, if your PYTHONPATH is set up or the package is installed:
# python -m gllm_agents.examples.hello_world_google_adk

Google ADK Streaming:

python gllm_agents/examples/hello_world_google_adk_stream.py
# or, if your PYTHONPATH is set up or the package is installed:
# python -m gllm_agents.examples.hello_world_google_adk_stream

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.0-cp312-cp312-win_amd64.whl (435.8 kB view details)

Uploaded CPython 3.12Windows x86-64

gllm_agents_binary-0.2.0-cp312-cp312-manylinux_2_31_x86_64.whl (646.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.0-cp312-cp312-macosx_14_0_arm64.whl (424.8 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

gllm_agents_binary-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl (472.7 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gllm_agents_binary-0.2.0-cp311-cp311-win_amd64.whl (441.9 kB view details)

Uploaded CPython 3.11Windows x86-64

gllm_agents_binary-0.2.0-cp311-cp311-manylinux_2_31_x86_64.whl (589.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gllm_agents_binary-0.2.0-cp311-cp311-macosx_14_0_arm64.whl (421.3 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

gllm_agents_binary-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl (474.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

Details for the file gllm_agents_binary-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 03644156b749d4f0eb0f0acb0357172b44ef66e414f6176f5a8c5dc4e271f038
MD5 82b14cd15ee9309d69b35836d185d539
BLAKE2b-256 86944500dde675cc3e4083427d58f7b7fdb73311b78f7ae663fb7806b209b572

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 030e3e4f649dd82f57cfde6462f973901fcf8d1bd3399b2b2decb1c254a4688d
MD5 f6de8b03f40e4179998419c0ed08fcee
BLAKE2b-256 514b5ad851daac4789197317e24589088228ea2c05accbfc9663aa3d9658f9bd

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5b0d1c6bb95e04bf21ee9619ac136a003b0d77a2099b5d4872fe579116aa10b9
MD5 27fd91aedaef722840205d6671190034
BLAKE2b-256 c266f35099fbb9d36bb511d97e77122edcffbf9580a60c1ed1654ebf384ba7e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.0-cp312-cp312-macosx_14_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.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4527b0d1961c82a09211f57452f630685ce2ce88c0130be5a743cc2876c049be
MD5 9f7fe640fabc4ae88ebcac2c15ac7a58
BLAKE2b-256 ede0876eaf228360438d0ac913c090db2d49f1bfb1b0852b3b30f0de3ac79778

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.0-cp312-cp312-macosx_13_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.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6216ce5f3d7cb44f128338f69ae03ba80df68e6d471c4ce1a4c37223ebfd5179
MD5 f37219390ad471a23d16bbf2daeafdd7
BLAKE2b-256 c6000622810df42732203aecad5c2235ad7e720616051d4df798cd72f3e8d553

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c363373ce07a132704f9db43618620d65bda0e6e6267fa5cb7144e40dac1cba7
MD5 d724a2af33ff7dc0562feb09d72f1a61
BLAKE2b-256 48f4b02daf317ab463e3f31d422f4d7b33b31a3a3c596d007162e716757d8202

See more details on using hashes here.

File details

Details for the file gllm_agents_binary-0.2.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 16e3f577249d512356159f0b16a23d114dfc3eae2d6003fba4bf93970fdac618
MD5 b793dc7e63595c137e155e0bf226aafc
BLAKE2b-256 a309dfb3ee118367b5a5a816ee2ba04b89070cd524bade5dce4aa5aaabef6ff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.0-cp311-cp311-macosx_14_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.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gllm_agents_binary-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 871d9cbf441c1c489d16dd121102eaeef0339219b05c41ab188e8894955145d1
MD5 2abe359490d26c6588201a6ca935c384
BLAKE2b-256 c4cf6144cd0222a1efb3457e271aec68685747bf3ad86ddf4b2043668069b4aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for gllm_agents_binary-0.2.0-cp311-cp311-macosx_13_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.

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