Skip to main content

TrustyAI LM-Eval as and Out-of-Tree Llama Stack Provider

PyPI version pre-commit.ci Bandit Llama compatibility

About

This repository implements TrustyAI's LM-Eval as an out-of-tree Llama Stack remote provider.

Use

Prerequsites

  • Admin access to an OpenShift cluster with RHOAI installed
  • Login to your OpenShift cluster with oc login --token=<TOKEN> --server=<SERVER>
  • Installation of uv
  • Installation of oc cli tool
  • Installation of llama stack cli tool
  1. Clone this repository

    git clone https://github.com/trustyai-explainability/llama-stack-provider-lmeval.git
    
  2. Set llama-stack-provider-lmeval as your working directory.

    cd llama-stack-provider-lmeval
    
  3. Deploy microsoft/Phi-3-mini-4k-instruct on vLLM Serving Runtime

    a. Create a namespace with a name of your choice

    TEST_NS=<NAMESPACE>
    oc create ns $TEST_NS
    oc get ns $TEST_NS
    

    b. Deploy the model via vLLM

    oc apply -k demos/resources/kustomization.yaml
    
  4. Before continuing, preform a sanity check to make sure the model was sucessfully deployed

    oc get pods | grep "predictor"
    

    Expected output:

    phi-3-predictor-00002-deployment-794fb6b4b-clhj7   3/3     Running   0          5h55m
    
  5. Create and activate a virtual enviornment

    uv venv .llamastack-venv
    
    source .llamastack-venv/bin/activate
    
  6. Install the required libraries

    uv pip install -e .
    
  7. Define the following ennvironment variables

    export VLLM_URL=https://$(oc get $(oc get ksvc -o name | grep predictor) --template={{.status.url}})/v1/completions
    
    export TRUSTYAI_LM_EVAL_NAMESPACE=$(oc project | cut -d '"' -f2)
    
  8. Start the llama stack server in a virtual enviornment

    llama stack run run.yaml --image-type venv
    

    Expected output:

    INFO:     Application startup complete.
    INFO:     Uvicorn running on http://['::', '0.0.0.0']:8321 (Press CTRL+C to quit)
    
  9. Navigate to demos/ to run the demo notebooks

TLS Support

This provider supports TLS for secure communication with model inference endpoints. TLS configuration is controlled through environment variables:

Environment Variables

  • TRUSTYAI_LMEVAL_TLS: Set to true to enable TLS support
  • TRUSTYAI_LMEVAL_CERT_FILE: Name of the certificate file in the secret (e.g., custom-ca.pem)
  • TRUSTYAI_LMEVAL_CERT_SECRET: Name of the Kubernetes secret containing the TLS certificate

Structured Configuration

The provider also supports structured TLS configuration through the TLSConfig class:

from llama_stack_provider_lmeval.config import TLSConfig

tls_config = TLSConfig(
    enable=True,                    # Enable TLS support
    cert_file="custom-ca.pem",      # Certificate filename in secret
    cert_secret="vllm-ca-bundle"   # Kubernetes secret name
)

Note: When using structured configuration, both cert_file and cert_secret must be provided together, or neither should be provided (for simple TLS verification).

TLS Configuration Modes

The provider supports two TLS configuration modes:

  1. Environment Variables: Set TLS configuration via environment variables for runtime flexibility
  2. Provider Config: Set TLS configuration via the TLSConfig object for code-based configuration

Priority Order

TLS configuration follows this priority order:

  1. Environment Variables (highest priority)
  2. Provider Config (TLSConfig object)
  3. No TLS (default)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed information on:

  • Development setup and prerequisites
  • Pre-commit hooks and code quality standards
  • Running tests and development workflow
  • Troubleshooting common issues

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Metadata

Release files for llama-stack-provider-lmeval 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-stack-provider-lmeval 0.5.0
File Size Uploaded Provenance Actions
llama_stack_provider_lmeval-0.5.0.tar.gz 33.5 kB With provenance Details for llama_stack_provider_lmeval-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for llama-stack-provider-lmeval 0.5.0
File Interpreter ABI Platform Actions
llama_stack_provider_lmeval-0.5.0-py3-none-any.whl Python 3 none any Details for llama_stack_provider_lmeval-0.5.0-py3-none-any.whl

Total release size: 57.4 kB

Release files / llama_stack_provider_lmeval-0.5.0.tar.gz

Download URL llama_stack_provider_lmeval-0.5.0.tar.gz
Size 33.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1f6df160bbe27ef8f5eb527acc3284a60c168f0b5f4efe1c6aa2d2d3f099d1da
BLAKE2b-256 checksum
How to use checksums
4fbe3f2a756edcdc8c0350edfefe943c90b5647976c20ad3554be0a7761a1963
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / llama_stack_provider_lmeval-0.5.0-py3-none-any.whl

Download URL llama_stack_provider_lmeval-0.5.0-py3-none-any.whl
Size 23.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be305abd6af1a3ef330a33cbfdfd9088394a5cbb3b10f29a159d5e6dab6ed626
BLAKE2b-256 checksum
How to use checksums
ce494d0515d5dda68e3e13806c4b3d96c0a5ebacde09c3db5fe1479872375da9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Security for llama-stack-provider-lmeval 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for llama_stack_provider_lmeval-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page