Nyraxis/ docs
Integrations
Developer documentation

DSPy

Evaluate input before DSPy runs and buffer output for a second decision.

Recipe: set DSPY_MODEL to a model identifier supported by your DSPy provider (for example an OpenAI model identifier). Optimizers may create additional model calls and training records; this final boundary does not govern those automatically.

Prepare the boundary

Complete the quickstart, set NYRAXIS_API_KEY and NYRAXIS_BASE_URL, and configure an applicable policy for the docs-integration agent. Keep all credentials server-side.

python -m pip install nyraxis-sdk==1.3.2 dspy

Save nyraxis_gate.py beside your application. It evaluates input before calling your generator, requires a complete non-empty policy evaluation, then checks buffered output before returning it. Permission errors, incomplete checks and transport failures interrupt the operation.

Connect DSPy

Set the provider environment variables referenced below. Save this as example.py beside nyraxis_gate.py, then run python example.py.

import os
import dspy
from nyraxis_gate import guarded_text_call

dspy.configure(lm=dspy.LM(os.environ["DSPY_MODEL"], api_key=os.environ["OPENAI_API_KEY"]))
predict = dspy.Predict("question -> answer")
def generate(prompt):
    return str(predict(question=prompt).answer)

print(guarded_text_call("Explain how to contact support.", generate))

The provider API follows its upstream documentation. Pin that provider/framework version in your application lockfile. Recipe status is distinct from a live account test; review the support matrix.

Verify this integration

Run one safe prompt, one synthetic Secrets detection input, and one case where the generated output contains the synthetic password marker. Count provider calls: input blocking should stop the generator; output blocking should prevent the buffered answer from reaching the user. Repeat with an unreachable Nyraxis API and verify that the request does not proceed.

This boundary checks complete text. It does not automatically authorize tools, inspect every internal step, or block tokens after they have been emitted. Add application permissions before side effects and separate gates for intermediate untrusted data.

On this page