The Active Reliability Layer for AI Agents
Project description
Steer SDK
Active Reliability Layer for AI Agents.
Steer is an open-source Python library that intercepts agent failures (hallucinations, bad JSON, PII leaks) and allows you to inject fixes via a local dashboard without changing your code.
The Problem
When an agent fails in production (e.g., outputs bad JSON), logging the error isn't enough. You usually have to:
- Dig through logs to find the prompt.
- Edit your prompt template manually.
- Redeploy the application.
The Solution
Steer wraps your agent function. When it detects a failure, it blocks the output and logs it to a local dashboard. You click "Teach" to provide a correction (e.g., "Use Strict JSON"), and Steer injects that rule into the agent's context for future runs.
Visual Workflow:
Installation
pip install steer-sdk
Quickstart
Generate the example scripts to see the workflow in action:
steer init
# Generates 01_structure_guard.py, 02_safety_guard.py, etc.
steer ui
# Starts the local dashboard at http://localhost:8000
Run a demo (Split-screen recommended):
- Run
python 01_structure_guard.py. It will fail (Blocked). - Go to
http://localhost:8000. Click Teach. Select "Strict JSON". - Run
python 01_structure_guard.pyagain. It will succeed.
Usage
Steer uses a decorator pattern to wrap your existing functions.
from steer import capture
from steer.verifiers import JsonVerifier
# 1. Define Verifiers
json_check = JsonVerifier(name="Strict JSON")
# 2. Decorate your Agent Function
@capture(verifiers=[json_check])
def my_agent(user_input, steer_rules=""):
# 3. Pass 'steer_rules' to your system prompt.
# Steer populates this argument automatically based on your teaching.
system_prompt = f"You are a helpful assistant.\n{steer_rules}"
# ... Your LLM call ...
return llm.call(system_prompt, user_input)
Configuration
The Quickstart demos use a Mock LLM and require no API keys.
To use advanced LLM-based verifiers in production, set your environment variables:
export GEMINI_API_KEY=...
# OR
export OPENAI_API_KEY=...
Star History
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file steer_sdk-0.2.1.tar.gz.
File metadata
- Download URL: steer_sdk-0.2.1.tar.gz
- Upload date:
- Size: 453.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81f3f5dabc2152d7e0bb92ebb07026b0d45b91a1455b0036208f29bb8a8dd512
|
|
| MD5 |
9996ed96c5662a812a87374524c8574c
|
|
| BLAKE2b-256 |
8a9e707a0808f210aed23a63248545121582dfce73751891dd90afad57630a9e
|
File details
Details for the file steer_sdk-0.2.1-py3-none-any.whl.
File metadata
- Download URL: steer_sdk-0.2.1-py3-none-any.whl
- Upload date:
- Size: 471.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61473b296de745e7357d00dd89d3bea7a43b5a6fc112486e426dcf9ec2b20dae
|
|
| MD5 |
dcba10369e4c88903ed6c8192eead6cc
|
|
| BLAKE2b-256 |
1ee5855f2712dbbf7f789846fee5ae789c423332111a112735fdb7571a91e128
|