Python SDK
Official Python SDK for TalonAI - integrate AI security into your Python applications.
Installation
pip install talonaiQuick Start
from talonai import TalonAI
# Initialize the client
talon = TalonAI() # Uses TALONAI_API_KEY env var
# Analyze content for threats
result = talon.analyze(content="Hello, can you help me?")
print(f"Risk Score: {result.risk_score}")
print(f"Is Safe: {result.is_safe}")
print(f"Threats: {result.threats}")OpenAI Integration
from talonai import TalonAI
from openai import OpenAI
talon = TalonAI()
openai = OpenAI()
def safe_chat(user_message: str) -> str:
# Analyze input
analysis = talon.analyze(content=user_message)
if not analysis.is_safe:
raise ValueError(f"Blocked: {analysis.block_reason}")
# Safe to proceed
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": user_message}]
)
# Analyze output
output_analysis = talon.analyze(
content=response.choices[0].message.content,
direction="output"
)
if output_analysis.pii_detected:
return talon.redact(response.choices[0].message.content)
return response.choices[0].message.contentAsync Support
from talonai import AsyncTalonAI
import asyncio
async def main():
talon = AsyncTalonAI()
result = await talon.analyze(content="Hello world")
print(result.risk_score)
asyncio.run(main())FastAPI Middleware
from fastapi import FastAPI, Request, HTTPException
from talonai import TalonAI
app = FastAPI()
talon = TalonAI()
@app.middleware("http")
async def security_middleware(request: Request, call_next):
if request.method == "POST":
body = await request.json()
if "message" in body:
result = talon.analyze(content=body["message"])
if not result.is_safe:
raise HTTPException(403, "Request blocked")
return await call_next(request)API Reference
Key methods:
talon.analyze(content)- Analyze content for threatstalon.protect(content)- Analyze and optionally redacttalon.redact(content)- Redact PII from contenttalon.policies.list()- List all policiestalon.policies.create()- Create a policy