azure-mgmt-weightsandbiases-dotnet – skill DevOps & Hạ tầng cho agent AI
SDK Azure Weights & Biases cho .NET. Theo dõi thí nghiệm ML và quản lý mô hình qua Azure Marketplace. Dùng để tạo instance W&B, quản lý SSO, tích hợp marketplace và observability cho ML.
Cài skill azure-mgmt-weightsandbiases-dotnet bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /azure-mgmt-weightsandbiases-dotnet – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $azure-mgmt-weightsandbiases-dotnet – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /azure-mgmt-weightsandbiases-dotnet – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-mgmt-weightsandbiases-dotnet-5de23.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /azure-mgmt-weightsandbiases-dotnet – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Azure.ResourceManager.WeightsAndBiases (.NET)
Azure Resource Manager SDK for deploying and managing Weights & Biases ML experiment tracking instances via Azure Marketplace.
Installation
dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
dotnet add package Azure.IdentityExample package baseline: v1.0.0-beta.1 (preview); verify available version and generated API before adapting
API Version: 2024-09-18-preview
Environment Variables
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_RESOURCE_GROUP=<your-resource-group>
AZURE_WANDB_INSTANCE_NAME=<your-wandb-instance>Authentication
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;
ArmClient client = new ArmClient(new DefaultAzureCredential());Resource Hierarchy
Subscription
└── ResourceGroup
└── WeightsAndBiasesInstance # W&B deployment from Azure Marketplace
├── Properties
│ ├── Marketplace # Offer details, plan, publisher
│ ├── User # Admin user info
│ ├── PartnerProperties # W&B-specific config (region, subdomain)
│ └── SingleSignOnPropertiesV2 # Entra ID SSO configuration
└── Identity # Managed identity (optional)Select an explicit authorized tenant/subscription/resource group rather than relying on the default for billable creation. Import Azure/Azure.Core, Resources and Models types required by the chosen SDK. Marketplace offer/plan/term/region and SSO details below are illustrative and must match current provider terms and permissions; a missing ARM resource is not a global name-availability check. Creation may incur Marketplace charges and deletion may destroy access/data; preview exact resources and preserve exports before approved mutations. ARM management and W&B experiment tracking are distinct APIs: retrieve the actual provisioned base URL instead of constructing an assumed wandb.ai host. Keep API keys, experiment data and admin PII out of logs; verify retention/egress approval before logging runs.
Core Workflows
1. Create Weights & Biases Instance
using Azure.ResourceManager.WeightsAndBiases;
using Azure.ResourceManager.WeightsAndBiases.Models;
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
ResourceGroupResource resourceGroup = (await subscription.GetResourceGroupAsync("my-resource-group")).Value;
WeightsAndBiasesInstanceCollection instances = resourceGroup.GetWeightsAndBiasesInstances();
WeightsAndBiasesInstanceData data = new WeightsAndBiasesInstanceData(AzureLocation.EastUS)
{
Properties = new WeightsAndBiasesInstanceProperties
{
// Marketplace configuration
Marketplace = new WeightsAndBiasesMarketplaceDetails
{
SubscriptionId = "<marketplace-subscription-id>",
OfferDetails = new WeightsAndBiasesOfferDetails
{
PublisherId = "wandb",
OfferId = "wandb-pay-as-you-go",
PlanId = "wandb-payg",
PlanName = "Pay As You Go",
TermId = "monthly",
TermUnit = "P1M"
}
},
// Admin user
User = new WeightsAndBiasesUserDetails
{
FirstName = "Admin",
LastName = "User",
EmailAddress = "[email protected]",
Upn = "[email protected]"
},
// W&B-specific configuration
PartnerProperties = new WeightsAndBiasesPartnerProperties
{
Region = WeightsAndBiasesRegion.EastUS,
Subdomain = "my-company-wandb"
}
},
// Optional: Enable managed identity
Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned)
};
ArmOperation<WeightsAndBiasesInstanceResource> operation = await instances
.CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", data);
WeightsAndBiasesInstanceResource instance = operation.Value;
Console.WriteLine($"W&B Instance created: {instance.Data.Name}");
Console.WriteLine($"Provisioning state: {instance.Data.Properties.ProvisioningState}");2. Get Existing Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
.GetWeightsAndBiasesInstanceAsync("my-wandb-instance");
Console.WriteLine($"Instance: {instance.Data.Name}");
Console.WriteLine($"Location: {instance.Data.Location}");
Console.WriteLine($"State: {instance.Data.Properties.ProvisioningState}");
if (instance.Data.Properties.PartnerProperties != null)
{
Console.WriteLine($"Region: {instance.Data.Properties.PartnerProperties.Region}");
Console.WriteLine($"Subdomain: {instance.Data.Properties.PartnerProperties.Subdomain}");
}3. List All Instances
// List in resource group
await foreach (WeightsAndBiasesInstanceResource instance in
resourceGroup.GetWeightsAndBiasesInstances())
{
Console.WriteLine($"Instance: {instance.Data.Name}");
Console.WriteLine($" Location: {instance.Data.Location}");
Console.WriteLine($" State: {instance.Data.Properties.ProvisioningState}");
}
// List in subscription
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
await foreach (WeightsAndBiasesInstanceResource instance in
subscription.GetWeightsAndBiasesInstancesAsync())
{
Console.WriteLine($"{instance.Data.Name} in {instance.Id.ResourceGroupName}");
}4. Configure Single Sign-On (SSO)
WeightsAndBiasesInstanceResource instance = await resourceGroup
.GetWeightsAndBiasesInstanceAsync("my-wandb-instance");
// Update with SSO configuration
WeightsAndBiasesInstanceData updateData = instance.Data;
updateData.Properties.SingleSignOnPropertiesV2 = new WeightsAndBiasSingleSignOnPropertiesV2
{
Type = WeightsAndBiasSingleSignOnType.Saml,
State = WeightsAndBiasSingleSignOnState.Enable,
EnterpriseAppId = "<entra-app-id>",
AadDomains = { "example.com", "contoso.com" }
};
ArmOperation<WeightsAndBiasesInstanceResource> operation = await resourceGroup
.GetWeightsAndBiasesInstances()
.CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", updateData);5. Update Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
.GetWeightsAndBiasesInstanceAsync("my-wandb-instance");
// Update tags
WeightsAndBiasesInstancePatch patch = new WeightsAndBiasesInstancePatch
{
Tags =
{
{ "environment", "production" },
{ "team", "ml-platform" },
{ "costCenter", "CC-ML-001" }
}
};
instance = await instance.UpdateAsync(patch);
Console.WriteLine($"Updated instance: {instance.Data.Name}");6. Delete Instance
WeightsAndBiasesInstanceResource instance = await resourceGroup
.GetWeightsAndBiasesInstanceAsync("my-wandb-instance");
await instance.DeleteAsync(WaitUntil.Completed);
Console.WriteLine("Instance deleted");7. Check Resource Name Availability
// Check if name is available before creating
// (Implement via direct ARM call if SDK doesn't expose this)
try
{
await resourceGroup.GetWeightsAndBiasesInstanceAsync("desired-name");
Console.WriteLine("Name is already taken");
}
catch (RequestFailedException ex) when (ex.Status == 404)
{
Console.WriteLine("No resource with this name was found in this resource group; global partner/subdomain availability is unproven");
}Key Types Reference
| Type | Purpose |
|------|---------|
| WeightsAndBiasesInstanceResource | W&B instance resource |
| WeightsAndBiasesInstanceData | Instance configuration data |
| WeightsAndBiasesInstanceCollection | Collection of instances |
| WeightsAndBiasesInstanceProperties | Instance properties |
| WeightsAndBiasesMarketplaceDetails | Marketplace subscription info |
| WeightsAndBiasesOfferDetails | Marketplace offer details |
| WeightsAndBiasesUserDetails | Admin user information |
| WeightsAndBiasesPartnerProperties | W&B-specific configuration |
| WeightsAndBiasSingleSignOnPropertiesV2 | SSO configuration |
| WeightsAndBiasesInstancePatch | Patch for updates |
| WeightsAndBiasesRegion | Supported regions enum |
Available Regions
| Region Enum | Azure Region |
|-------------|--------------|
| WeightsAndBiasesRegion.EastUS | East US |
| WeightsAndBiasesRegion.CentralUS | Central US |
| WeightsAndBiasesRegion.WestUS | West US |
| WeightsAndBiasesRegion.WestEurope | West Europe |
| WeightsAndBiasesRegion.JapanEast | Japan East |
| WeightsAndBiasesRegion.KoreaCentral | Korea Central |
Marketplace Offer Details
For Azure Marketplace integration:
| Property | Value |
|----------|-------|
| Publisher ID | wandb |
| Offer ID | wandb-pay-as-you-go |
| Plan ID | wandb-payg (Pay As You Go) |
Best Practices
1. Use DefaultAzureCredential — Supports multiple auth methods automatically
2. **Ena
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- mtls-configuration – Cấu hình mutual TLS (mTLS) cho giao tiếp zero-trust giữa các dịch vụ. Dùng khi triển…
- multi-cloud-architecture – Thiết kế kiến trúc multi-cloud bằng khung quyết định để chọn và tích hợp dịch vụ trên…
- azure-microsoft-playwright-testing-ts – Chạy test Playwright ở quy mô lớn với trình duyệt đám mây và báo cáo tích hợp trên Azure…
- azure-monitor-audit – Cấu hình Azure Monitor và Activity Log để kiểm toán. Thiết lập diagnostic settings và…
- azure-monitor-ingestion-java – SDK Azure Monitor Ingestion cho Java. Gửi log tùy chỉnh tới Azure Monitor qua Data…
- azure-monitor-ingestion-py – SDK Azure Monitor Ingestion cho Python. Dùng để gửi log tùy chỉnh tới Log Analytics…
- azure-monitor-opentelemetry-exporter-java – Azure Monitor OpenTelemetry Exporter cho Java. Xuất traces, metrics và logs của…
- azure-monitor-opentelemetry-exporter-py – Azure Monitor OpenTelemetry Exporter cho Python. Dùng để xuất OpenTelemetry ở mức thấp…