Starvex - Production-ready AI agents with guardrails, observability, and security
Project description
Starvex
Production-ready AI agents with guardrails, observability, and security.
Installation
pip install starvex
Quick Start
-
Get your API key at starvex.in/dashboard
-
Login with your API key:
starvex login
- Use in your code:
from starvex import Starvex
vex = Starvex()
async def my_agent(prompt: str) -> str:
# Your AI agent logic here
return "Agent response"
# Secure your agent with guardrails
result = await vex.secure(
prompt="User input",
agent_function=my_agent
)
if result.status == "success":
print(result.response)
elif result.status == "blocked":
print(f"Blocked: {result.verdict.value}")
Features
Guardrails
Automatically detect and block:
- Jailbreak attempts - Prompt injection attacks
- PII leakage - Email, phone, SSN, credit cards
- Toxic content - Harmful or inappropriate text
- Competitor mentions - Block competitor references (configurable)
Observability
Full visibility into your AI agent behavior:
- Real-time event tracing
- Latency monitoring
- Success/failure analytics
- Dashboard at starvex.in/dashboard
Evaluation
Quality checks on agent outputs:
- Hallucination detection
- Faithfulness scoring
- Relevancy analysis
CLI Commands
# Login with your API key
starvex login
# Check connection status
starvex status
# Check a prompt for safety
starvex check "Your prompt here"
# Test a prompt/response pair
starvex test --prompt "Question" --response "Answer"
# Show current configuration
starvex config --show
# Show version
starvex version
# Logout
starvex logout
API Reference
Starvex
from starvex import Starvex
vex = Starvex(
api_key="sv_live_xxx", # Or set STARVEX_API_KEY env var
redact_pii=False, # Mask PII before logging
enable_tracing=True, # Enable observability
)
Methods
secure(prompt, agent_function, context=None)
The main method - secures an AI agent interaction:
- Checks input safety (jailbreak, PII, toxicity)
- Calls your agent function
- Checks output quality (hallucination, toxicity)
- Logs everything to the dashboard
result = await vex.secure(
prompt="User input",
agent_function=my_agent,
context=["Optional context for hallucination checking"],
user_id="optional-user-id",
session_id="optional-session-id",
)
protect(prompt)
Check input only (no agent execution):
result = await vex.protect("User input")
if result.status == "blocked":
print("Input blocked!")
test(prompt, response, context=None)
Test mode - evaluate a prompt/response pair without tracing:
result = vex.test(
prompt="What is 2+2?",
response="2+2 equals 4",
context=["Math fact: 2+2=4"]
)
Response Object
class GuardResponse:
status: str # "success", "blocked", "flagged"
response: str # The agent response (or block message)
verdict: str # PASSED, BLOCKED_JAILBREAK, BLOCKED_PII, etc.
checks: list # Detailed check results
trace_id: str # Unique trace ID for debugging
latency_ms: float # Total processing time
warning: str | None # Warning message if flagged
Environment Variables
| Variable | Description |
|---|---|
STARVEX_API_KEY |
Your Starvex API key |
STARVEX_API_HOST |
Custom API host (optional) |
STARVEX_REDACT_PII |
Set to "true" to mask PII |
STARVEX_LOG_LEVEL |
Logging level (DEBUG, INFO, WARNING, ERROR) |
Dashboard
View your metrics and manage API keys at starvex.in/dashboard
- Real-time request monitoring
- Block rate analytics
- Latency tracking
- API key management
- Guardrail configuration
Links
- Website: starvex.in
- Dashboard: starvex.in/dashboard
- Documentation: starvex.in/docs
License
MIT
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 starvex-1.0.0.tar.gz.
File metadata
- Download URL: starvex-1.0.0.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b00449bc1bf4235c361687663cb5f30ebab1f865b519899fff6d8c1fb24afc4e
|
|
| MD5 |
8dfab66a3a1b97844259e38a903531a7
|
|
| BLAKE2b-256 |
707d9af71f8ace8e5404bb3cb9b31ae6c6defd5a509de140acade3507c0fa2f8
|
File details
Details for the file starvex-1.0.0-py3-none-any.whl.
File metadata
- Download URL: starvex-1.0.0-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81d515a1dc71cf33e7ad0932f1f6457b4b9ff9781d736ef11ad193d919868050
|
|
| MD5 |
95788c681c4ee56f4f6c74c7044069e0
|
|
| BLAKE2b-256 |
93aa31b55861ccfae36e1451a9d37c7738adfaacd501941897b1dd28abf8acb0
|