@anthropic-ai/foundry-sdk
v0.2.2
Published
The official TypeScript library for the Anthropic Foundry API
Downloads
17,374
Maintainers
Keywords
Readme
Claude SDK for Microsoft Foundry
This library provides convenient access to the Claude API via Microsoft Azure AI Foundry. See the documentation for more details.
For the direct Claude API at api.anthropic.com, see @anthropic-ai/sdk.
Installation
npm install @anthropic-ai/foundry-sdkUsage
Basic Usage with API Key
import { AnthropicFoundry } from '@anthropic-ai/foundry-sdk';
const client = new AnthropicFoundry({
apiKey: process.env.ANTHROPIC_FOUNDRY_API_KEY, // defaults to process.env.ANTHROPIC_FOUNDRY_API_KEY
resource: 'example-resource.azure.anthropic.com', // your Azure resource
});
const message = await client.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello, Claude!' }],
});
console.log(message.content);Using Azure AD Token Provider
For enhanced security, you can use Azure AD (Microsoft Entra) authentication instead of an API key:
import { AnthropicFoundry } from '@anthropic-ai/foundry-sdk';
import { getBearerTokenProvider, DefaultAzureCredential } from '@azure/identity';
const credential = new DefaultAzureCredential();
const scope = 'https://ai.azure.com/.default';
const azureADTokenProvider = getBearerTokenProvider(credential, scope);
const client = new AnthropicFoundry({
azureADTokenProvider,
resource: 'example-resource.azure.anthropic.com', // your Azure resource
});
const message = await client.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello, Claude!' }],
});
console.log(message.content);Using Model Deployments
If you have a model deployment configured, you can specify it to have the SDK automatically construct the correct URL path:
const client = new AnthropicFoundry({
apiKey: process.env.ANTHROPIC_FOUNDRY_API_KEY,
resource: 'example-resource.azure.anthropic.com',
});
// The SDK will automatically use /deployments/my-claude-deployment/messages
const message = await client.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello!' }],
});