Skip to main content

No project description provided

Project description

Vijil Dome

License Python Version Downloads Docs

Vijil Dome is a fast, lightweight, and highly configurable library for adding runtime guardrails to your AI agents. It combines top open-source LLM safety tools with proprietary Vijil models to detect and respond to unsafe content — with built-in support for observability, tracing, and popular agent frameworks.

🚀 Installation

Install the core library:

pip install vijil-dome

Optional extras for common integrations:

  • opentelemetry – OTel-compatible tracing/logging
  • google – GCP-native metrics and logging
  • langchain – Seamless integration with LangChain/LangGraph
  • embeddings – Fast similarity search using annoy

⚠️ Note: annoy is not currently compatible with agents built using Google ADK + Cloud Run. Use in-memory embeddings in those cases.

CPU-Only Installation

By default, pip install vijil-dome installs PyTorch with CUDA support (~2-3GB). For CPU-only environments, you can significantly reduce the installation size (~100-200MB) by using the CPU-only version of PyTorch:

# Install vijil-dome
pip install vijil-dome

# Replace with CPU-only PyTorch (saves ~2GB)
pip install --force-reinstall torch --index-url https://download.pytorch.org/whl/cpu

When to use CPU-only PyTorch:

  • Deploying to cloud environments without GPU (Lambda, Cloud Run, etc.)
  • Running on machines without NVIDIA GPUs
  • Reducing Docker image sizes
  • Development/testing environments where GPU isn't needed

Performance considerations:

  • All guardrails remain fully functional on CPU
  • Model inference will be slower than GPU (typically 2-5x)
  • For most guardrailing use cases, CPU performance is acceptable
  • The library automatically detects available devices and falls back to CPU gracefully

🔒 Guarding Agents in One Line

from vijil_dome import Dome

dome = Dome()

query = "How can I rob a bank?"
input_scan = dome.guard_input(query)
print(input_scan.is_safe(), input_scan.guarded_response())

# Get a response from your agent 

response = "Here's how to rob a bank!"
output_scan = dome.guard_output(response)
print(output_scan.is_safe(), output_scan.guarded_response())

By default, Dome:

  • Scans inputs for prompt injections, jailbreaks, and toxicity
  • Scans outputs for toxicity and masks PII

⚙️ Configuration Options

You can configure Dome using a TOML file or a Python dictionary.

Example TOML

[guardrail]
input-guards = ["prompt-injection", "input-toxicity"]
output-guards = ["output-toxicity"]
input-early-exit = false

[prompt-injection]
type = "security"
early-exit = false
methods = ["prompt-injection-deberta-v3-base", "security-llm"]

[prompt-injection.security-llm]
model_name = "gpt-4o"

[input-toxicity]
type = "moderation"
methods = ["moderations-oai-api"]

[output-toxicity]
type = "moderation"
methods = ["moderation-prompt-engineering"]

Same Configuration in Python

config = {
    "input-guards": ["prompt-injection", "input-toxicity"],
    "output-guards": ["output-toxicity"],
    "input-early-exit": False,
    "prompt-injection": {
        "type": "security",
        "early-exit": False,
        "methods": ["prompt-injection-deberta-v3-base", "security-llm"],
        "security-llm": {
            "model_name": "gpt-4o"
        }
    },
    "input-toxicity": {
        "type": "moderation",
        "methods": ["moderations-oai-api"]
    },
    "output-toxicity": {
        "type": "moderation",
        "methods": ["moderation-prompt-engineering"]
    },
}

Dome includes 20+ prebuilt guardrails and supports building your own!

For policy-based GPT-OSS safeguard usage (direct detector + TOML config pattern), see:

  • vijil_dome/integrations/examples/gpt_oss_safeguard_README.md
  • examples/gpt_oss_safeguard_guardrail.toml

👉 For the full list of guardrail methods, advanced config options, and extensibility, check out the Docs.

🔌 Compatibility

Dome works with any agent framework or LLM — it operates directly on strings, so there's no dependency on your stack!

For popular frameworks, we provide dedicated wrappers and tutorials to make integration seamless:

Observability Integrations:

Dome is compatible with the following observability framworks out of the box

  • OpenTelemetry
  • Weave (Weights & Biases)
  • AgentOps
  • Google Cloud Trace

See the documentation for more details

📚 Learn More

Get detailed guides, examples, and custom guardrail walkthroughs in the official documentation →

Have more questions, or want us to include another guardrailing technique? Reach out to us at contact@vijil.ai!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vijil_dome-1.4.2.tar.gz (471.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vijil_dome-1.4.2-py3-none-any.whl (534.6 kB view details)

Uploaded Python 3

File details

Details for the file vijil_dome-1.4.2.tar.gz.

File metadata

  • Download URL: vijil_dome-1.4.2.tar.gz
  • Upload date:
  • Size: 471.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for vijil_dome-1.4.2.tar.gz
Algorithm Hash digest
SHA256 a0ffd022f26b1eb021c0588131927e6f28c72f227452435b2da99ef7bfc06dd0
MD5 63b9c30e9c73cd027cf6aa37bfc989bf
BLAKE2b-256 0a32cec1ff56959d137965a38f7c8a653754a8625a9270c59366767e92fef088

See more details on using hashes here.

File details

Details for the file vijil_dome-1.4.2-py3-none-any.whl.

File metadata

  • Download URL: vijil_dome-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 534.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for vijil_dome-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 858eac5620a659a4b062be108991997b44fa82037dab9fb1c4340d0d01b48ce2
MD5 ad164c9e9cc3b282ff6e74f03ac1931b
BLAKE2b-256 6d01d646f67fe8844a3a10af7e50285ee48c7b9e9158a634e27a4000f9f8840d

See more details on using hashes here.

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