Documentation Index
Fetch the complete documentation index at: https://snowglobe.so/docs/llms.txt
Use this file to discover all available pages before exploring further.
Learn how to use Guardrails with Anthropic’s Claude models.
Prerequisites
Set your Anthropic API key:
export ANTHROPIC_API_KEY="your-api-key"
Or in Python:
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
Basic usage
from guardrails import Guard
import os
guard = Guard()
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
result = guard(
messages=[{"role": "user", "content": "How many moons does Jupiter have?"}],
model="claude-3-opus-20240229"
)
print(result.validated_output)
Streaming
Stream responses from Claude with real-time validation:
from guardrails import Guard
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
guard = Guard()
stream_chunk_generator = guard(
messages=[{"role": "user", "content": "How many moons does Jupiter have?"}],
model="claude-3-opus-20240229",
stream=True,
)
for chunk in stream_chunk_generator:
print(chunk.validated_output)
Using validators
Add validators to ensure output quality:
from guardrails import Guard
from guardrails.hub import ProfanityFree
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
guard = Guard().use(ProfanityFree())
result = guard(
messages=[{"role": "user", "content": "Tell me a story"}],
model="claude-3-opus-20240229",
)
print(result.validated_output)
Supported models
Guardrails supports all Anthropic Claude models including:
claude-3-opus-20240229
claude-3-sonnet-20240229
claude-3-haiku-20240307
claude-2.1
claude-2.0
Structured data with Claude
Generate structured data using Claude:
from pydantic import BaseModel
from typing import List
from guardrails import Guard
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
class Pet(BaseModel):
name: str
species: str
age: int
guard = Guard.for_pydantic(Pet)
result = guard(
messages=[{"role": "user", "content": "Generate information about a pet"}],
model="claude-3-opus-20240229",
)
print(result.validated_output)
Error handling
Guardrails automatically handles common Anthropic errors with retries and exponential backoff:
from guardrails import Guard
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
guard = Guard()
try:
result = guard(
messages=[{"role": "user", "content": "Your prompt"}],
model="claude-3-opus-20240229",
)
except Exception as e:
print(f"Error: {e}")