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].text

Supported Models

  • Claude 3.5 Sonnet
  • Claude 3 Opus
  • Claude 3 Sonnet
  • Claude 3 Haiku
  • Claude 2.1