Back to AI Framework Overview | All Providers
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
ErrorAnalyzernpm 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