Anthropic Integration
Protect your Anthropic Claude API calls with TalonAI security.
Proxy Mode
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: 'https://api.talonai.io/v1/proxy/anthropic',
defaultHeaders: {
'X-TalonAI-Key': process.env.TALONAI_API_KEY,
},
});
const message = await anthropic.messages.create({
model: 'claude-3-opus-20240229',
max_tokens: 1024,
messages: [{ role: 'user', content: userInput }],
});SDK Integration
import { TalonAI } from '@talonai/sdk';
import Anthropic from '@anthropic-ai/sdk';
const talon = new TalonAI();
const anthropic = new Anthropic();
async function chat(userMessage: string) {
// Check input
const analysis = await talon.analyze({ content: userMessage });
if (!analysis.isSafe) {
throw new Error('Request blocked');
}
const response = await anthropic.messages.create({
model: 'claude-3-opus-20240229',
max_tokens: 1024,
messages: [{ role: 'user', content: userMessage }],
});
return response.content[0].text;
}Python Example
from talonai import TalonAI
import anthropic
talon = TalonAI()
client = anthropic.Anthropic()
def safe_chat(user_message: str) -> str:
# Analyze input
result = talon.analyze(content=user_message)
if not result.is_safe:
raise ValueError("Blocked")
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[{"role": "user", "content": user_message}]
)
return message.content[0].textSupported Models
- Claude 3.5 Sonnet
- Claude 3 Opus
- Claude 3 Sonnet
- Claude 3 Haiku
- Claude 2.1