Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a737ac0
Remove Semantic Kernel references (#51536)
gewarren Feb 10, 2026
dcc1717
Update Orleans persistence docs for Orleans 7.0+ serialization API (#…
Copilot Feb 10, 2026
72f6752
Add preview documentation for collection expression parameters (#51454)
BillWagner Feb 10, 2026
34f81df
Update package index with latest published versions (#51581)
azure-sdk Feb 10, 2026
77348be
create release notes for 26h1 release on 2b (#51551)
TaraOverfield Feb 11, 2026
22cd7a6
Add dotnet-debug base docs (#51570)
hoyosjs Feb 11, 2026
f2560e5
Bump github/codeql-action from 4.32.1 to 4.32.2 (#51588)
dependabot[bot] Feb 11, 2026
a73647f
Bump the dotnet group with 3 updates (#51597)
dependabot[bot] Feb 11, 2026
d614ff7
Bump the dotnet group with 3 updates (#51604)
dependabot[bot] Feb 11, 2026
4d9fcbf
Bump the dotnet group with 3 updates (#51603)
dependabot[bot] Feb 11, 2026
2ca145a
Bump the dotnet group with 2 updates (#51617)
dependabot[bot] Feb 11, 2026
fa47653
Bump the dotnet group with 2 updates (#51622)
dependabot[bot] Feb 11, 2026
555323f
Bump the dotnet group with 3 updates (#51630)
dependabot[bot] Feb 11, 2026
06c3890
Bump the dotnet group with 1 update (#51634)
dependabot[bot] Feb 11, 2026
ce98da6
Bump the dotnet group with 1 update (#51638)
dependabot[bot] Feb 11, 2026
b790930
Bump the dotnet group with 1 update (#51637)
dependabot[bot] Feb 11, 2026
36a69fd
Bump the dotnet group with 2 updates (#51642)
dependabot[bot] Feb 11, 2026
2e52fb5
Bump the dotnet group with 2 updates (#51649)
dependabot[bot] Feb 11, 2026
88a11fc
Bump the dotnet group with 2 updates (#51650)
dependabot[bot] Feb 11, 2026
26f5a01
Bump the dotnet group with 2 updates (#51651)
dependabot[bot] Feb 11, 2026
9b218c3
Bump the dotnet group with 3 updates (#51652)
dependabot[bot] Feb 11, 2026
9764e7f
Bump the dotnet group with 2 updates (#51659)
dependabot[bot] Feb 11, 2026
48df9d5
Bump the dotnet group with 1 update (#51662)
dependabot[bot] Feb 11, 2026
c016eeb
Bump the dotnet group with 3 updates (#51661)
dependabot[bot] Feb 11, 2026
369583c
Bump the dotnet group with 3 updates (#51682)
dependabot[bot] Feb 11, 2026
fe24db1
Bump the dotnet group with 4 updates (#51679)
dependabot[bot] Feb 11, 2026
1e46bdc
Bump the dotnet group with 4 updates (#51681)
dependabot[bot] Feb 11, 2026
4223ec6
Bump the dotnet group with 4 updates (#51690)
dependabot[bot] Feb 11, 2026
83abf7b
Bump the dotnet group with 7 updates (#51692)
dependabot[bot] Feb 11, 2026
3d64e17
Bump the dotnet group with 1 update (#51694)
dependabot[bot] Feb 11, 2026
9485dc7
Bump the dotnet group with 7 updates (#51691)
dependabot[bot] Feb 11, 2026
08ee802
Bump the dotnet group with 5 updates (#51696)
dependabot[bot] Feb 11, 2026
b392b92
Bump the dotnet group with 7 updates (#51695)
dependabot[bot] Feb 11, 2026
41107c9
Bump the dotnet group with 6 updates (#51700)
dependabot[bot] Feb 11, 2026
be3b86b
Bump the dotnet group with 3 updates (#51699)
dependabot[bot] Feb 11, 2026
139b990
Bump the dotnet group with 3 updates (#51697)
dependabot[bot] Feb 11, 2026
86c34bb
Bump the dotnet group with 3 updates (#51701)
dependabot[bot] Feb 11, 2026
83eab78
Bump the dotnet group with 4 updates (#51702)
dependabot[bot] Feb 11, 2026
892ecab
Bump the dotnet group with 1 update (#51703)
dependabot[bot] Feb 11, 2026
38ee64a
Bump the dotnet group with 5 updates (#51704)
dependabot[bot] Feb 11, 2026
6928ed4
Bump the dotnet group with 1 update (#51705)
dependabot[bot] Feb 11, 2026
30af7c3
Bump the dotnet group with 14 updates (#51707)
dependabot[bot] Feb 11, 2026
b8adfd7
Bump step-security/harden-runner from 2.14.1 to 2.14.2 (#51595)
dependabot[bot] Feb 11, 2026
101eced
Update package index with latest published versions (#51587)
azure-sdk Feb 11, 2026
a58dfc2
Bump the dotnet group with 7 updates (#51688)
dependabot[bot] Feb 11, 2026
4eea53c
Add new redirect for January cumulative update preview (#51711)
gewarren Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/check-for-build-warnings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
pull-requests: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-articles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-includes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-snippets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-redirect-hops.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-relative-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-replace-redirects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
# Checkout the repo into the workspace within the VM
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/do-not-merge-label-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- 'DO NOT MERGE'
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-verifier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/live-protection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/profanity-filter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quest-bulk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
if: ${{ github.repository_owner == 'dotnet' }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down Expand Up @@ -71,6 +71,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@6bc82e05fd0ea64601dd4b465378bbcf57de0314 # v3.29.5
uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions .github/workflows/snippets5000.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
default: 'Manual run'

env:
DOTNET_VERSION: '10.0.*'
DOTNET_VERSION: '11.0.*'
DOTNET_QUALITY: 'preview'
DOTNET_DO_INSTALL: 'true' # To install a version of .NET not provided by the runner, set to true
EnableNuGetPackageRestore: 'True'
Expand All @@ -31,7 +31,7 @@ jobs:
steps:
# Checkout the repository for the PR
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/version-sweep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
# Start the .NET version updater action
# A composite of the .NET Version Sweeper and the .NET Upgrade Assistant
- name: Harden Runner
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

Expand Down
4 changes: 2 additions & 2 deletions .openpublishing.redirection.csharp.json
Original file line number Diff line number Diff line change
Expand Up @@ -5014,7 +5014,7 @@
},
{
"source_path_from_root": "/docs/csharp/whats-new.md",
"redirect_url": "/dotnet/csharp/whats-new/csharp-14",
"redirect_url": "/dotnet/csharp/whats-new/csharp-15",
"redirect_document_id": true
},
{
Expand Down Expand Up @@ -5055,7 +5055,7 @@
},
{
"source_path_from_root": "/docs/csharp/whats-new/index.md",
"redirect_url": "/dotnet/csharp/whats-new/csharp-14",
"redirect_url": "/dotnet/csharp/whats-new/csharp-15",
"ms.custom": "updateeachrelease"
},
{
Expand Down
5 changes: 5 additions & 0 deletions .openpublishing.redirection.framework.json
Original file line number Diff line number Diff line change
Expand Up @@ -2023,6 +2023,11 @@
"redirect_url": "/dotnet/framework/release-notes/2024/04-09-april-security-and-quality-rollup",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/framework/release-notes/2026/01-29-october-cumulative-update-preview.md",
"redirect_url": "/dotnet/framework/release-notes/2026/01-29-january-cumulative-update-preview",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/framework/resources/creating-resource-files-for-desktop-apps.md",
"redirect_url": "/dotnet/core/extensions/create-resource-files",
Expand Down
10 changes: 8 additions & 2 deletions docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
"Compiler Breaking Changes - DotNet 8.md",
"Compiler Breaking Changes - DotNet 9.md",
"Compiler Breaking Changes - DotNet 10.md",
"Compiler Breaking Changes - DotNet 11.md",
"Deviations from Standard.md"
],
"src": "_roslyn/docs/compilers/CSharp",
Expand Down Expand Up @@ -513,11 +514,12 @@
"_csharplang/proposals/csharp-12.0/*.md": "08/15/2023",
"_csharplang/proposals/csharp-13.0/*.md": "10/31/2024",
"_csharplang/proposals/csharp-14.0/*.md": "08/06/2025",
"_csharplang/proposals/*.md": "08/06/2025",
"_csharplang/proposals/*.md": "02/04/2025",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "11/08/2022",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "11/08/2023",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "11/09/2024",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "01/09/2024",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "11/09/2024",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "01/09/2025",
"_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "04/24/2025",
"_vblang/spec/*.md": "07/21/2017"
},
Expand Down Expand Up @@ -693,10 +695,12 @@
"_csharplang/proposals/csharp-14.0/ignored-directives.md": "Ignored preprocessor directives",
"_csharplang/proposals/csharp-14.0/extension-operators.md": "Extension operators",
"_csharplang/proposals/csharp-14.0/optional-and-named-parameters-in-expression-trees.md": "Optional and named parameters in expression trees",
"_csharplang/proposals/collection-expression-arguments.md": "Collection expression arguments",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "C# compiler breaking changes since C# 10",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "C# compiler breaking changes since C# 11",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "C# compiler breaking changes since C# 12",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "C# compiler breaking changes since C# 13",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "C# compiler breaking changes since C# 14",
"_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "Deviations from the C# standard",
"_vblang/spec/introduction.md": "Introduction",
"_vblang/spec/lexical-grammar.md": "Lexical grammar",
Expand Down Expand Up @@ -819,10 +823,12 @@
"_csharplang/proposals/csharp-14.0/ignored-directives.md": "This proposal allows a source file to include ignored directives. In most cases, ignored directives are used for file-based apps, for example `#!`",
"_csharplang/proposals/csharp-14.0/extension-operators.md": "This proposal extends the proposal for extensions to include *extension operators*, where an operator can be an extension member.",
"_csharplang/proposals/csharp-14.0/optional-and-named-parameters-in-expression-trees.md": "This proposal allows an expression tree to include named and optional parameters. This enables expression trees to be more flexible in how they are constructed.",
"_csharplang/proposals/collection-expression-arguments.md": "This proposal introduces collection expression arguments.",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "Learn about any breaking changes since the initial release of C# 10 and included in C# 11",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "Learn about any breaking changes since the initial release of C# 11 and included in C# 12",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "Learn about any breaking changes since the initial release of C# 12 and included in C# 13",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "Learn about any breaking changes since the initial release of C# 13 and included in C# 14",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "Learn about any breaking changes since the initial release of C# 14 and included in C# 15",
"_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "Learn about any deviations from the C# standard",
"_vblang/spec/introduction.md": "This chapter provides an overview of the Visual Basic language and its design goals.",
"_vblang/spec/lexical-grammar.md": "This chapter defines the lexical grammar for Visual Basic.",
Expand Down
22 changes: 11 additions & 11 deletions docs/ai/azure-ai-services-authentication.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Authenticate to Azure OpenAI using .NET
description: Learn about the different options to authenticate to Azure OpenAI and other services using .NET
description: Learn about the different options to authenticate to Azure OpenAI and other services using .NET.
author: alexwolfmsft
ms.topic: concept-article
ms.date: 04/09/2025
---

# Azure AI services authentication and authorization using .NET

Application requests to Azure AI Services must be authenticated. In this article, you explore the options available to authenticate to Azure OpenAI and other AI services using .NET. These concepts apply to the Semantic Kernel SDK, as well as SDKs from specific services such as Azure OpenAI. Most AI services offer two primary ways to authenticate apps and users:
Application requests to Azure AI Services must be authenticated. In this article, you explore the options available to authenticate to Azure OpenAI and other AI services using .NET. Most AI services offer two primary ways to authenticate apps and users:

- **Key-based authentication** provides access to an Azure service using secret key values. These secret values are sometimes known as API keys or access keys depending on the service.
- **Microsoft Entra ID** provides a comprehensive identity and access management solution to ensure that the correct identities have the correct level of access to different Azure resources.
Expand Down Expand Up @@ -80,18 +80,18 @@ az login

### Configure the app code

Use the [`Azure.Identity`](/dotnet/api/overview/azure/identity-readme) client library from the Azure SDK to implement Microsoft Entra authentication in your code. The `Azure.Identity` libraries include the `DefaultAzureCredential` class, which automatically discovers available Azure credentials based on the current environment and tooling available. Visit the [Azure SDK for .NET](/dotnet/api/azure.identity.defaultazurecredential) documentation for the full set of supported environment credentials and the order in which they are searched.
Use the [`Azure.Identity`](/dotnet/api/overview/azure/identity-readme) client library from the Azure SDK to implement Microsoft Entra authentication in your code. The `Azure.Identity` libraries include the `DefaultAzureCredential` class, which automatically discovers available Azure credentials based on the current environment and tooling available. For the full set of supported environment credentials and the order in which they are searched, see the [Azure SDK for .NET](/dotnet/api/azure.identity.defaultazurecredential) documentation.

For example, configure Semantic Kernel to authenticate using `DefaultAzureCredential` using the following code:
For example, configure Azure OpenAI to authenticate using `DefaultAzureCredential` using the following code:

```csharp
Kernel kernel = Kernel
.CreateBuilder()
.AddAzureOpenAITextGeneration(
"your-model",
"your-endpoint",
new DefaultAzureCredential())
.Build();
AzureOpenAIClient azureClient =
new(
new Uri(endpoint),
new DefaultAzureCredential(new DefaultAzureCredentialOptions()
{ TenantId = tenantId }
)
);
```

`DefaultAzureCredential` enables apps to be promoted from local development to production without code changes. For example, during development `DefaultAzureCredential` uses your local user credentials from Visual Studio or the Azure CLI to authenticate to the AI service. When the app is deployed to Azure, `DefaultAzureCredential` uses the managed identity that is assigned to your app.
Expand Down
6 changes: 3 additions & 3 deletions docs/ai/conceptual/embeddings.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,14 @@ You generate embeddings for your raw data by using an AI embedding model, which

### Store and process embeddings in a vector database

After you generate embeddings, you'll need a way to store them so you can later retrieve them with calls to an LLM. Vector databases are designed to store and process vectors, so they're a natural home for embeddings. Different vector databases offer different processing capabilities, so you should choose one based on your raw data and your goals. For information about your options, see [available vector database solutions](vector-databases.md#semantic-kernel-vector-database-solutions).
After you generate embeddings, you'll need a way to store them so you can later retrieve them with calls to an LLM. Vector databases are designed to store and process vectors, so they're a natural home for embeddings. Different vector databases offer different processing capabilities, so you should choose one based on your raw data and your goals. For information about your options, see [Vector databases for .NET + AI](vector-databases.md).

### Using embeddings in your LLM solution

When building LLM-based applications, you can use Semantic Kernel to integrate embedding models and vector stores, so you can quickly pull in text data, and generate and store embeddings. This lets you use a vector database solution to store and retrieve semantic memories.
When building LLM-based applications, you can use Agent Framework to integrate embedding models and vector stores, so you can quickly pull in text data, and generate and store embeddings. This lets you use a vector database solution to store and retrieve semantic memories.

## Related content

- [How GenAI and LLMs work](how-genai-and-llms-work.md)
- [Retrieval-augmented generation](rag.md)
- [Training: Develop AI agents with Azure OpenAI and Semantic Kernel](/training/paths/develop-ai-agents-azure-open-ai-semantic-kernel-sdk/)
- [Training: Develop an AI agent with Microsoft Agent Framework](/training/modules/develop-ai-agent-with-semantic-kernel/)
Loading
Loading