MemberJunction AI provider for Amazon Bedrock. This package provides both LLM and embedding capabilities through AWS Bedrock's multi-model platform, supporting Claude, Titan, Llama, and other model families available on Bedrock.
graph TD
A["BedrockLLM
(Provider)"] -->|extends| B["BaseLLM
(@memberjunction/ai)"]
C["BedrockEmbedding
(Provider)"] -->|extends| D["BaseEmbeddings
(@memberjunction/ai)"]
A -->|wraps| E["AWS Bedrock
Runtime SDK"]
C -->|wraps| E
E -->|accesses| F["Claude / Titan /
Llama / Mistral"]
B -->|registered via| G["@RegisterClass"]
D -->|registered via| G
style A fill:#7c5295,stroke:#563a6b,color:#fff
style C fill:#7c5295,stroke:#563a6b,color:#fff
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
style D fill:#2d6a9f,stroke:#1a4971,color:#fff
style E fill:#2d8659,stroke:#1a5c3a,color:#fff
style F fill:#b8762f,stroke:#8a5722,color:#fff
style G fill:#b8762f,stroke:#8a5722,color:#fff
npm install @memberjunction/ai-bedrock
import { BedrockLLM } from '@memberjunction/ai-bedrock';
const llm = new BedrockLLM('aws-credentials-json');
const result = await llm.ChatCompletion({
model: 'anthropic.claude-v2',
messages: [
{ role: 'user', content: 'Explain machine learning.' }
]
});
import { BedrockEmbedding } from '@memberjunction/ai-bedrock';
const embeddings = new BedrockEmbedding('aws-credentials-json');
const result = await embeddings.EmbedText({
text: 'Text to embed',
model: 'amazon.titan-embed-text-v1'
});
AWS credentials are passed as a JSON string containing:
| Field | Description |
|---|---|
region |
AWS region (e.g., us-east-1) |
accessKeyId |
AWS access key ID |
secretAccessKey |
AWS secret access key |
sessionToken |
Optional session token for temporary credentials |
| Feature | Supported | Notes |
|---|---|---|
| stopSequences | Yes | Supported for Anthropic Claude, AI21, and Amazon Titan models |
| assistantPrefill | Yes (Claude only) | Pre-seed the assistant's response for anthropic.* model IDs (guide) |
| streaming | Yes | Real-time streaming via InvokeModelWithResponseStream |
BedrockLLM -- Registered via @RegisterClass(BaseLLM, 'BedrockLLM')BedrockEmbedding -- Registered via @RegisterClass(BaseEmbeddings, 'BedrockEmbedding')@memberjunction/ai - Core AI abstractions@memberjunction/global - Class registration@aws-sdk/client-bedrock-runtime - AWS Bedrock Runtime SDK