Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Claude on Foundry Starter Kit hjälper dig att distribuera Anthropic Claude modeller till Microsoft Foundry med hjälp av Azure Developer CLI (azd). Det hjälper dig också att konfigurera lokal autentisering och anropa den distribuerade modellen från Claude Code eller Python.
I den här artikeln lär du dig att:
- Distribuera Claude Sonnet till Microsoft Foundry med Bicep-versionen av startpaketet.
- Konfigurera de nödvändiga attesteringsvärdena för modellleverantören Anthropic.
- Konfigurera Claude Code för att använda modellen som finns på Foundry.
- Anropa den distribuerade Claude-modellen från Python med hjälp av Microsoft Entra ID.
- Anpassa distributionen för Terraform, fler modellfamiljer, andra regioner eller annan kapacitet.
Important
Att köra azd up med det här startpaketet innebär att du godkänner villkoren för Anthropic Marketplace och skickar attesteringsvärdena CLAUDE_ORGANIZATION_NAME, CLAUDE_COUNTRY_CODE och CLAUDE_INDUSTRY med förfrågningar. Ange värden som beskriver den verkliga organisationen med hjälp av modellen. Mer information finns i Användningsvillkor.
Snabbstart
Den här standardlösningen distribuerar Claude Sonnet med hjälp av Bicep i eastus2 med kapaciteten 25 (25 000 token per minut). Använd den först för att komma till en fungerande distribution och gå sedan till Anpassa distributionen om du behöver Terraform, flera modellfamiljer, en annan region eller annan kapacitet.
Du behöver en Azure prenumeration som är berättigad till Anthropic Claude i Microsoft Foundry, behörigheter för att skapa målresurser, Azure CLI, Azure Developer CLI, Git och Python 3.10 eller senare. Om ditt konto kan skapa rolltilldelningar ger snabbstarten även åtkomst till användarmodellens anrop så att exemplen kan köras omedelbart.
Klona, konfigurera och distribuera
Om din prenumeration som är berättigad till Claude finns i en tenant som inte är standard ska du lägga till tenant-ID:t i båda inloggningskommandona.
git clone https://github.com/Azure-Samples/claude.git
cd claude\infra-bicep
az login
azd auth login
azd env new my-claude
azd env set CLAUDE_ORGANIZATION_NAME "Contoso"
azd env set CLAUDE_COUNTRY_CODE "US"
azd env set CLAUDE_INDUSTRY "technology"
azd env set AZURE_LOCATION "eastus2"
azd env set CLAUDE_SONNET_MODEL "claude-sonnet-4-6"
azd env set CLAUDE_SONNET_CAPACITY 25
azd env set ASSIGN_RBAC true
azd up
Ersätt Contoso, USoch technology med värden för den verkliga organisationen med hjälp av Claude. Om ditt konto inte kan skapa rolltilldelningar hoppar du över ASSIGN_RBAC och låter en administratör ge dig behörighet att anropa modellen innan du kör exemplen.
Verifiera och kör Claude Code
Från repots rot verifierar du den genererade konfigurationen och driftsättningsstatusen. skip-flaggan förhindrar ett direkt anrop till Claude under verifiering.
cd ..
pwsh -File .\scripts\verify-claude-code.ps1 -SkipClaudeCall -WaitForDeployment
. .\claude-code.env.ps1
claude
Kör Python exempel
Skriv azd utdata till .env.local, installera beroenden och kör engångsexemplet med Microsoft Entra ID.
cd infra-bicep
azd env get-values | Out-File -Encoding utf8 ..\.env.local
cd ..
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python src\hello_claude.py
Så här hjälper startpaketet
Startpaketet automatiserar Claude-distributionen med hjälp av Bicep eller Terraform. Den konfigurerar lokal autentisering för Microsoft Entra ID och tillhandahåller fungerande Claude Code och Python exempel. Den innehåller även förhandskontroller för vanliga problem med marknadsplatsen, region och kvoter så att du kan åtgärda eventuella hinder innan du etablerar resurser. Mer information finns i Vad distributionen skapar och Anpassa distributionen.
Förutsättningar
- En Azure-prenumeration som är kvalificerad för att distribuera Anthropic Claude-modeller i Microsoft Foundry. Tillgängligheten för Claude-modellen beror på prenumerationstyp, faktureringsstatus, region och Anthropic regioner som stöds.
- Behörigheter för att skapa och hantera målresurserna Azure. Vanligtvis behöver du
ContributorellerOwnerpå prenumerationen eller målresursgruppen. - Åtkomst till Azure Marketplace för partnermodellerbjudanden.
- Azure CLI.
- Azure Developer CLI.
- Git.
- Python 3.10 eller senare för de Python exemplen.
- Terraform 1.6 eller senare om du väljer Terraform-varianten.
Tip
Lagringsplatsen stöder också GitHub Codespaces och VS Code Dev Containers. Dessa miljöer innehåller de nödvändiga utvecklarverktygen, så de är ett bra val om du inte vill installera az, azdoch Python lokalt.
Vad distributionen skapar
Startpaketet skapar dessa resurser och lokala konfigurationsfiler:
- En Azure resursgrupp för
azdmiljön. - Ett Microsoft Foundry-konto.
- Ett Microsoft Foundry-projekt.
- En eller flera driftsättningar av Claude-modeller i Foundry-kontot.
- En valfri rolltilldelning vid modellanrop.
- Lokala aktiveringsskript för Claude Code i repots rotkatalog.
- Claude-arbetsytekonfiguration som fäster Claude Code i en distribuerad modellfamilj.
- Valfria VS Code-tilläggsinställningar när du anger
CLAUDE_WRITE_VSCODE_SETTINGS=true. -
azdmiljöutdata, inklusive Foundry-kontonamn, bas-URL, projektslutpunkt och distributionsnamn.
Anpassa utbyggnaden
Använd det här avsnittet när du vill variera snabbstartssökvägen, till exempel använda Terraform, välja en annan region, distribuera flera Claude-familjer eller ändra kapacitet. Om du redan har slutfört snabbstarten kan du gå vidare till Använd Claude Code med den distribuerade modellen eller Anropa Claude från Python.
Klona startpaketet
Klona startpaketet och gå till repot:
git clone https://github.com/Azure-Samples/claude.git
cd claude
Du kan också granska den aktiva Claude-katalogen innan du väljer modell-ID:t. Den här hjälpmodulen är endast tillgänglig för PowerShell i startpaketet.
pwsh -File .\Get-ClaudeCatalog.ps1 -Latest
Katalogen ändras över tid. Använd skriptutdata för att bekräfta vilka Claude-modell-ID:er som är tillgängliga i den region som du planerar att distribuera.
Välj en infrastrukturvariant
Startpaketet innehåller två motsvarande infrastrukturvarianter:
| Variant | Folder | Använd när |
|---|---|---|
| Bicep | infra-bicep |
Du föredrar Azure-baserad koddefinierad infrastruktur. |
| Terraform | infra-terraform |
Du föredrar Terraform och använder redan Terraform-arbetsflöden. |
Ändra till en av variantmapparna:
cd infra-bicep
Eller:
cd infra-terraform
Resten av kommandona i den här artikeln körs från den variantmapp som du valde.
Logga in på Azure
Logga in med både Azure CLI och Azure Developer CLI:
az login
azd auth login
Om din Claude-berättigade prenumeration finns i en icke-standardklientorganisation anger du klientorganisationen:
az login --tenant <tenant-id>
azd auth login --tenant-id <tenant-id>
Skapa en azd miljö
Skapa en azd miljö för att lagra distributionskonfiguration:
azd env new my-claude
Om du redan har skapat en miljö väljer du den i stället:
azd env select my-claude
Konfigurera nödvändiga distributionsvärden
Ange de organisationsvärden som används för attesteringen av Claude model-provider:
azd env set CLAUDE_ORGANIZATION_NAME "Contoso"
azd env set CLAUDE_COUNTRY_CODE "US"
azd env set CLAUDE_INDUSTRY "technology"
Ersätt exempelvärdena med organisationens juridiska entitetsnamn, landskod med två bokstäver och bransch. Startpaketet innehåller standardvärden för land och bransch, men åsidosätter dem såvida inte US och technology korrekt beskriver den organisation som använder Claude.
Branschvärdet måste vara gemener. Värden som stöds är:
technologyfinancehealthcareeducationretailmanufacturinggovernmentmediaother
Ange Azure-region:
azd env set AZURE_LOCATION "eastus2"
Startpaketet stöder regioner där de valda Claude-modellerna är tillgängliga. Snabbstarten använder eastus2. För en gemensam driftsättning för hela familjen är eastus2 och swedencentral för närvarande värdar för Haiku, Sonnet och Opus.
westus2 värd för Sonnet och Opus. Tillgängligheten kan ändras, så använd livekatalogskriptet om du är osäker på vilka modellfamiljer som är tillgängliga i målregionen.
Distribuera fler modellfamiljer eller ändra kapacitet
För en enkel första distribution distribuerar du endast Sonnet med hjälp av den önskade variabeln per familj:
azd env set CLAUDE_SONNET_MODEL "claude-sonnet-4-6"
Om du vill distribuera flera modellfamiljer till samma Foundry-konto anger du en eller flera familjevariabler:
azd env set CLAUDE_HAIKU_MODEL "claude-haiku-4-5"
azd env set CLAUDE_SONNET_MODEL "claude-sonnet-4-6"
azd env set CLAUDE_OPUS_MODEL "<opus-model-id-from-catalog>"
Varje icke-tom familjevariabel skapar en separat distribution. Lämna en familj oinställd för att hoppa över den. Den äldre inställningen CLAUDE_MODEL_NAME är en äldre reservlösning för enskild distribution och används endast när CLAUDE_HAIKU_MODEL, CLAUDE_SONNET_MODEL och CLAUDE_OPUS_MODEL är tomma.
Snabbstarten anger Sonnet-kapacitet till 25. Om du vill åsidosätta kapaciteten för alla distribuerade familjer anger du matchande kapacitetsvariabel:
azd env set CLAUDE_SONNET_CAPACITY 25
Kapacitetsvärden mäts i tusentals token per minut. Till exempel 25 begär 25 000 TPM.
Konfigurera åtkomst till modellanrop
För att Microsoft Entra ID exempel ska fungera omedelbart efter distributionen anger du ASSIGN_RBAC=true före azd up. Mallen tilldelar rollen med lägsta privilegier Cognitive Services User på Foundry-kontot till huvud-ID:t som azd anger via AZURE_PRINCIPAL_ID, så du behöver normalt inte slå upp ditt eget objekt-ID.
azd env set ASSIGN_RBAC true
Ange AZURE_PRINCIPAL_ID endast manuellt när du behöver bevilja åtkomst till en annan användare eller tjänstens huvudnamn:
azd env set AZURE_PRINCIPAL_ID "<object-id>"
azd env set ASSIGN_RBAC true
Om du inte aktiverar det här alternativet kan du fortfarande distribuera resurserna. Du eller en administratör måste dock bevilja modellanropsbehörigheter innan Microsoft Entra ID-exemplen kan anropa modellen.
startpaketet tilldelar Cognitive Services User eftersom det är rollen med minst behörighet för modellanrop utan nyckel. Om du planerar att lägga till bredare Foundry-projektfunktioner senare, till exempel agenter eller utvärderare, kan du ge bredare dataplansroller som Foundry User eller Azure AI Developer separat.
Distribuera med azd up
Kör driftsättningen:
azd up
Kommandot azd up utför följande uppgifter:
- Kör en förhandskontroll av nödvändiga inställningar, att Marketplace-katalogen är tillgänglig och att det finns tillräcklig kvotmarginal.
- Skapar resursgruppen Azure.
- Skapar Microsoft Foundry-kontot och projektet.
- Distribuerar de valda Claude-modellfamiljerna.
- Tilldelar eventuellt modellanropsrollen.
- Skriver utdatavärden som
CLAUDE_BASE_URL,CLAUDE_DEPLOYMENT_NAMEoch distributionsnamn per familj. - Kör postprovision-kroken för att konfigurera Claude Code-aktiveringsfiler.
Distributionen kan ta flera minuter. Modelldistributioner kan också fortsätta etableringen när ARM-distributionsåtgärden returnerar en tidsgräns. Om det händer, använder du verifieringsskriptet i nästa avsnitt för att kontrollera det faktiska distributionsläget innan du kör azd up igen.
Verifiera driftsättningen
Kör verifieringsskriptet från lagringsplatsens rot:
cd ..
pwsh -File .\scripts\verify-claude-code.ps1 -SkipClaudeCall
Om du vill vänta på modelldistributioner som fortfarande etableras lägger du till vänta-flaggan:
pwsh -File .\scripts\verify-claude-code.ps1 -SkipClaudeCall -WaitForDeployment
Om du vill inkludera en tur och retur-resa i Claude Code utelämnar du skip-flaggan:
pwsh -File .\scripts\verify-claude-code.ps1
Verifieringsskriptet kontrollerar den genererade aktivatorn, förväntade miljövariabler, Azure CLI inloggning, synlig Foundry-resurs, modelldistributionstillstånd och Claude Code CLI-tillgänglighet.
Använd Claude Code med den driftsatta modellen
Använd Claude Code CLI
Som standard skriver startpaketet aktiveringsskript för projektet och Claude-konfiguration för arbetsytan i repots rotkatalog:
-
claude-code.env.ps1för PowerShell. -
claude-code.env.shför Bash, macOS, Linux, Git Bash eller WSL. - Konfiguration av Claude-arbetsytan för att låsa Claude Code till en modellfamilj som du driftsatte.
. .\claude-code.env.ps1
claude
Aktivatorn konfigurerar Claude Code för att använda Microsoft Foundry och anger distributionsnamnen för de modellfamiljer som du distribuerade. För varje distribuerad familj skriver postprovision-kroken ett ANTHROPIC_DEFAULT_<FAMILY>_MODEL värde i aktivatorn så att Claude Code kan dirigeras till Haiku, Sonnet eller Opus när dessa distributioner finns. Konfigurationen för Claude-arbetsytan låser arbetsytans standardvärde till en driftsatt familj, så claude resulterar i en modell som finns i ditt Foundry-konto.
Om kommandot claude inte är installerat skriver postprovision-hooken ut installationskommandot för din plattform. Om du vill att startpaketet ska installera Claude Code automatiskt under etableringen anger du det här värdet innan du kör azd up:
azd env set CLAUDE_CODE_AUTO_INSTALL true
Valfritt: konfigurera VS Code-tillägget
Startpaketet skriver inte .vscode/settings.json som standard. Om du använder VS Code-tillägget Claude Code och vill att startpaketet ska konfigurera det, kan du välja det före azd up:
azd env set CLAUDE_WRITE_VSCODE_SETTINGS true
När du aktiverar det här alternativet skriver eller sammanfogar postprovision-kroken claudeCode.environmentVariables och claudeCode.disableLoginPrompt i .vscode/settings.json så att tillägget använder din Foundry-distribution i stället för att uppmana till inloggning på ett Anthropic-konto.
Ring Claude från Python
Lagringsplatsen innehåller Python exempel under src. Använd dem för att testa åtkomst i programformat med Anthropic SDK och Microsoft Entra ID.
Från repots rot går du tillbaka till mappen för infrastrukturvarianten och skriver utdata från azd till .env.local i repots rot:
cd infra-bicep # or: cd infra-terraform
azd env get-values | Out-File -Encoding utf8 ..\.env.local
Skapa sedan en virtuell miljö och installera beroenden:
cd ..
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Kör engångsexemplet:
python src\hello_claude.py
Exemplet läser in CLAUDE_BASE_URL och CLAUDE_DEPLOYMENT_NAME, hämtar en Microsoft Entra ID-token för https://ai.azure.com/.default, skapar en Anthropic-klient med Foundrys bas-URL och skickar en begäran till Messages API.
Du kan också prova strömnings- och långkörande varianterna.
python src\chat_stream.py
python src\hello_claude_token_refresh.py
Använd tokenuppdateringsexemplet för tjänster, daemoner, notebook-filer eller andra processer som kan köras längre än livslängden för en enda Microsoft Entra ID token.
Avancerat: testa med en API-nyckel
Använd Microsoft Entra ID för normala utvecklings- och produktionsscenarier. För snabb lokal testning innehåller lagringsplatsen även ett API-nyckelexempel.
Från repots rotkatalog går du till mappen för infrastrukturvarianten och hämtar Foundry-kontonamnet och resursgruppen:
cd infra-bicep # or: cd infra-terraform
azd env get-values
Använd värdena FOUNDRY_ACCOUNT_NAME och AZURE_RESOURCE_GROUP från utdata för att ange CLAUDE_API_KEY. Kör sedan API-nyckelexemplet från lagringsplatsens rot:
$env:CLAUDE_API_KEY = (az cognitiveservices account keys list `
--name "<foundry-account-name>" `
--resource-group "<resource-group-name>" `
--query key1 -o tsv)
cd ..
python src\hello_claude_apikey.py
API-nycklar är användbara för en snabb anslutningskontroll, men de ger inte samma åtkomstkontroll per användare och livscykelfördelar för autentiseringsuppgifter som Microsoft Entra ID.
Användningsvillkor
Varianterna Bicep och Terraform skickar båda ett modelProviderData block med varje Claude-distribution. Det blocket innehåller organizationName, countryCodeoch industry. Resursleverantören för Cognitive Services använder dessa värden för att acceptera Azure Marketplace-erbjudandet för Anthropic Claude för din räkning, så det krävs ingen separat manuell bekräftelse under azd up.
Innan du distribuerar:
- Granska de juridiska dokument som styr Claude via Microsoft Foundry:
- Anthropic kommersiella användarvillkor.
- Anthropics användningspolicy, även kallad policy för godtagbar användning.
- Anthropic princip för regioner som stöds.
- Microsoft produktvillkor för Azure.
- Ange attesteringsvärdena så att de korrekt beskriver din organisation:
-
CLAUDE_ORGANIZATION_NAME: namnet på den juridiska personen. Det här värdet krävs och har inget standardvärde. -
CLAUDE_COUNTRY_CODE: landskoden med två bokstäver. Standardinställningen för startpaketet ärUS. -
CLAUDE_INDUSTRY: organisationsbranschen. Standardinställningen för startpaketet ärtechnology.
-
- Bekräfta att din Azure-prenumeration är berättigad att distribuera Anthropic Claude modeller i Microsoft Foundry.
Om standardvärdena för land eller bransch inte beskriver den organisation som använder Claude korrekt åsidosätter du dem innan du distribuerar dem.
Förhandsgranska dialogrutan som Foundry visar på den manuella sökvägen och granska godkännandet efter azd up
Dialogrutan "Godkänn och fortsätt" i Azure-portalen för en SKU för Claude genereras från den aktuella metadata som hör till Marketplace-erbjudandet. Eftersom texten i Marketplace kan ändras ska du använda den aktuella listningen för den SKU som du planerar att driftsätta i stället för att förlita dig på en kopierad ögonblicksbild.
- Sonett 4.6: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/anthropic.anthropic-claude-sonnet-4-6-offer
- Opus 4.6: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/anthropic.anthropic-claude-opus-4-6-offer
- Haiku 4.5: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/anthropic.anthropic-claude-haiku-4-5-offer
- Alla erbjudanden från Anthropic: https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=anthropic
Efter azd upkan du granska godkända Marketplace-avtalsmetadata med hjälp av Azure CLI. Kommandot returnerar metadata, till exempel länken för godkänt tillstånd, signatur, datum och licenstext. Den returnerar inte den fullständiga portaldialogrutan.
az term show `
--publisher anthropic `
--product anthropic-claude-sonnet-4-6-offer `
--plan <plan-name>
För andra Claude SKU:er ersätter du --product värdet med det matchande Marketplace-erbjudandet. Använd namnet på planen från metadata för det aktiva erbjudandet eller katalogkontrollerna för startpaketet.
Troubleshooting
Mer information finns i felsökningsavsnittet för startpaketet.
| Problem | Vad du bör prova |
|---|---|
Blockeringar för prenumerations- eller erbjudandebehörighet azd up |
Kontrollera att din prenumeration och ditt faktureringskonto är berättigade till Claude-modeller i Microsoft Foundry. Om din organisation kräver uttryckligt godkännande av Marketplace godkänner du det matchande Anthropic-erbjudandet innan du kör om azd up. |
| Regionen är inte tillgänglig för den valda modellen | Använd en region där den valda Claude-familjen är tillgänglig. Snabbstarten använder eastus2; swedencentral är också ofta värd för Haiku, Sonnet och Opus och westus2 är värd för Sonnet och Opus. Tillgängligheten kan ändras, så kör pwsh -File .\Get-ClaudeCatalog.ps1 -Latest från lagringsplatsens rot om du är osäker. |
| Kvoten räcker inte, eller så verkar kvoten vara full utan några aktiva distributioner | Sänk matchningsvärdet CLAUDE_*_CAPACITY , ta bort oanvända distributioner eller begär en kvotökning. Mjukborttagna Foundry- eller AIServices-konton kan reservera TPM-kvot i upp till 48 timmar. Lista dem med az cognitiveservices account list-deleted -o table och rensa bort konton som du inte längre behöver. |
Terraform misslyckas med ett otydligt 715-123420 felmeddelande |
Behandla detta som ett sannolikt kvotfel, inklusive kvot som hålls av mjukt borttagna konton. Kör de inledande kontrollerna i startpaketet, granska tillgänglig kvotmarginal, minska kapaciteten eller försök igen med Bicep-varianten för att få ett tydligare InsufficientQuota-meddelande. |
| Claude Code eller Python returnerar 401 eller 403 | Kör az login, bekräfta att du är inloggad i den klientorganisation som äger Foundry-resursen och kontrollera att anroparen har behörighet att anropa modeller, som Cognitive Services User. Nya RBAC-tilldelningar kan ta några minuter att slå igenom. |
GatewayTimeout visas under driftsättning av modellen |
Modelldistributionen kan fortsätta när ARM-åtgärden överskrider tidsgränsen. Innan du kör azd upigen kör du verifieringsskriptet med -WaitForDeployment eller --wait-for-deployment för att kontrollera det faktiska distributionstillståndet. |
Rensa resurser
När du inte längre behöver resurserna tar du bort dem från azd down mappen med infrastrukturvariant:
cd infra-bicep
azd down
Eller:
cd infra-terraform
azd down
Granska de resurser som azd planerar att ta bort innan du bekräftar. När du tar bort miljön tas Foundry-kontot, projektet och distributionerna av modeller som startpaketet skapade bort.
Om du arbetar iterativt med distributioner och omedelbart behöver få tillbaka den reserverade TPM-kvoten för Claude, använder du rensningsalternativet när din azd-version har stöd för det:
azd down --purge
Utan rensning kan mjukt borttagna Foundry- eller AIServices-konton fortsätta att innehålla TPM-kvot i upp till 48 timmar. Om du redan har tagit bort en miljö utan att rensa och kvoten fortfarande verkar full använder az cognitiveservices account list-deleted -o table du för att hitta borttagna konton och rensa de konton som du inte längre behöver.