Member Junction
    Preparing search index...

    Module @memberjunction/ai-anthropic - v5.49.0

    Back to AI Framework Overview | All Providers

    @memberjunction/ai-anthropic

    MemberJunction AI provider for Anthropic's Claude models. Implements the BaseLLM interface from @memberjunction/ai, supporting the Claude 4, Claude 3.5, and Claude 3 model families including Opus, Sonnet, and Haiku variants.

    graph TD
        A["AnthropicLLM
    (Provider)"] -->|extends| B["BaseLLM
    (@memberjunction/ai)"] B -->|registered via| C["@RegisterClass
    (@memberjunction/global)"] A -->|wraps| D["Anthropic SDK
    (@anthropic-ai/sdk)"] A -->|provides| E["Chat Completions"] A -->|provides| F["Streaming"] A -->|provides| G["Prompt Caching"] A -->|provides| H["Thinking/Reasoning
    Extraction"] style A fill:#7c5295,stroke:#563a6b,color:#fff style B fill:#2d6a9f,stroke:#1a4971,color:#fff style C fill:#b8762f,stroke:#8a5722,color:#fff style D fill:#2d8659,stroke:#1a5c3a,color:#fff style E fill:#2d6a9f,stroke:#1a4971,color:#fff style F fill:#2d6a9f,stroke:#1a4971,color:#fff style G fill:#2d6a9f,stroke:#1a4971,color:#fff style H fill:#2d6a9f,stroke:#1a4971,color:#fff
    • Chat Completions: Full support for Anthropic's Messages API
    • Streaming: Real-time response streaming with thinking block extraction
    • Prompt Caching: Automatic ephemeral cache control on content blocks for reduced latency and cost
    • Multimodal Input: Support for text, images (base64 and URL), and content block arrays
    • Thinking/Reasoning: Extraction of thinking content from Claude's extended thinking responses
    • Error Analysis: Integrated error analysis via ErrorAnalyzer
    npm install @memberjunction/ai-anthropic
    
    import { AnthropicLLM } from "@memberjunction/ai-anthropic";

    const llm = new AnthropicLLM("your-anthropic-api-key");

    const result = await llm.ChatCompletion({
    model: "claude-sonnet-4-20250514",
    messages: [
    { role: "user", content: "Explain quantum computing in simple terms." },
    ],
    temperature: 0.7,
    maxOutputTokens: 1024,
    });

    console.log(result.data.choices[0].message.content);
    const result = await llm.ChatCompletion({
    model: "claude-sonnet-4-20250514",
    messages: [{ role: "user", content: "Write a short story." }],
    streaming: true,
    streamingCallbacks: {
    OnContent: (content) => process.stdout.write(content),
    OnComplete: (result) => console.log("\nDone!"),
    },
    });
    const result = await llm.ChatCompletion({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "Solve this step by step: ..." }],
    effortLevel: "80",
    });

    // Access thinking content alongside the response
    console.log("Thinking:", result.data.choices[0].message.thinking);
    console.log("Answer:", result.data.choices[0].message.content);
    Parameter Supported Notes
    temperature Yes Controls randomness
    maxOutputTokens Yes Maximum response length
    topP Yes Nucleus sampling
    topK Yes Top-K sampling
    stopSequences Yes Custom stop sequences
    assistantPrefill Yes Pre-seed the start of the assistant's response (guide)
    responseFormat Yes JSON mode supported
    streaming Yes Real-time streaming
    effortLevel Yes Maps to thinking budget

    Registered as AnthropicLLM via @RegisterClass(BaseLLM, 'AnthropicLLM') for use with MemberJunction's class factory system.

    • @memberjunction/ai - Core AI abstractions
    • @memberjunction/global - Class registration
    • @anthropic-ai/sdk - Official Anthropic SDK

    Classes

    AnthropicLLM

    Variables

    ANTHROPIC_CACHE_BREAKPOINT