intégration de la recherche de documents IA .NET AspireAzure
Dans cet article, vous apprendrez à utiliser les documents de recherche IA .NET AspireAzureclient. La bibliothèque Aspire.Azure.Search.Documents
est utilisée pour inscrire un SearchIndexClient dans le conteneur d’injection de dépendances (DI) pour la connexion à Azure Recherche. Il active les vérifications de santé et la journalisation correspondantes.
Pour plus d’informations sur l’utilisation de l'SearchIndexClient
, consultez : Comment utiliser Azure. Recherchez des documents dans une application C# .NET.
Démarrer
- abonnement Azure : en créer un gratuitement.
- Azure service de recherche : créer une ressource de service de recherche IA Azure.
Pour bien démarrer avec l’intégration .NET AspireAzure ai Search Documents, installez le 📦Aspire.Azure. Search.Documents package NuGet dans le projet client-consommant, c’est-à-dire le projet pour l’application qui utilise les documents de recherche IA Azureclient.
dotnet add package Aspire.Azure.Search.Documents
Pour plus d’informations, consultez dotnet add package ou Gérer les dépendances de packages dans les applications .NET.
Exemple d’utilisation
Dans le fichier Program.cs de votre projet consommant client, appelez la méthode d’extension pour inscrire un SearchIndexClient
à utiliser via le conteneur d'injection des dépendances. La méthode AddAzureSearchClient prend un paramètre de nom de connexion.
builder.AddAzureSearchClient("searchConnectionName");
Vous pouvez ensuite récupérer l’instance SearchIndexClient
à l’aide de l’injection de dépendances. Par exemple, pour récupérer le client à partir d’un exemple de service :
public class ExampleService(SearchIndexClient indexClient)
{
// Use indexClient
}
Vous pouvez également récupérer un SearchClient
pour effectuer des requêtes en appelant la méthode SearchIndexClient.GetSearchClient comme suit :
public class ExampleService(SearchIndexClient indexClient)
{
public async Task<long> GetDocumentCountAsync(
string indexName,
CancellationToken cancellationToken)
{
var searchClient = indexClient.GetSearchClient(indexName);
var documentCountResponse = await searchClient.GetDocumentCountAsync(
cancellationToken);
return documentCountResponse.Value;
}
}
Pour plus d'informations, consultez la bibliothèque Azure recherche d'IA client pour .NET afin d'obtenir des exemples sur l'utilisation du SearchIndexClient
.
Utilisation de l’hôte d’application
Pour ajouter
dotnet add package Aspire.Hosting.Azure.Search
Dans le fichier Program.cs de AppHost
, ajoutez un service de recherche Azure et utilisez la connexion à l’aide des méthodes suivantes :
var builder = DistributedApplication.CreateBuilder(args);
var search = builder.ExecutionContext.IsPublishMode
? builder.AddAzureSearch("search")
: builder.AddConnectionString("search");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(search);
La méthode AddAzureSearch lira les informations de connexion depuis la configuration de l'AppHost (par exemple, à partir de « secrets utilisateur ») sous la clé de configuration ConnectionStrings:search
. La méthode WithReference
transmet ces informations de connexion dans une chaîne de connexion nommée search
dans le projet MyService
. Dans le fichier Program.cs de MyService
, la connexion peut être consommée à l’aide de :
builder.AddAzureSearch("search");
Configuration
La bibliothèque de recherche .NET AspireAzureAzure fournit plusieurs options pour configurer le service de recherche Azure en fonction des exigences et des conventions de votre projet. Notez qu’un Endpoint
ou un ConnectionString
doit être fourni.
Utiliser une chaîne de connexion
Une connexion peut être construite à partir de l’onglet Clés et Point de terminaison avec le format Endpoint={endpoint};Key={key};
. Vous pouvez fournir le nom de la chaîne de connexion lors de l’appel de builder.AddAzureSearch()
:
builder.AddAzureSearch("searchConnectionName");
Ensuite, la chaîne de connexion est récupérée à partir de la section de configuration ConnectionStrings
. Deux formats de connexion sont pris en charge :
Point de terminaison de compte
L’approche recommandée consiste à utiliser un Endpoint
, qui fonctionne avec la propriété AzureSearchSettings.Credential
pour établir une connexion. Si aucune information d’identification n’est configurée, la DefaultAzureCredential est utilisée.
{
"ConnectionStrings": {
"searchConnectionName": "https://{search_service}.search.windows.net/"
}
}
Chaîne de connexion
Vous pouvez également utiliser une chaîne de connexion personnalisée.
{
"ConnectionStrings": {
"searchConnectionName": "Endpoint=https://{search_service}.search.windows.net/;Key={account_key};"
}
}
Utiliser des fournisseurs de configuration
La bibliothèque .NET AspireAzure AI Search prend en charge Microsoft.Extensions.Configuration. Il charge les AzureSearchSettings
et les SearchClientOptions
à partir de la configuration en utilisant la clé Aspire:Azure:Search:Documents
. Exemple appsettings.json qui configure certaines des options suivantes :
{
"Aspire": {
"Azure": {
"Search": {
"Documents": {
"DisableTracing": false,
}
}
}
}
}
Utiliser des délégués inline
Vous pouvez également transmettre le délégué Action<AzureSearchSettings> configureSettings
pour configurer certaines ou toutes les options inline, par exemple pour désactiver le suivi à partir du code :
builder.AddAzureSearch(
"searchConnectionName",
static settings => settings.DisableTracing = true);
Vous pouvez également configurer le SearchClientOptions à l’aide du paramètre de Action<IAzureClientBuilder<SearchIndexClient, SearchClientOptions>> configureClientBuilder
facultatif de la méthode AddAzureSearch
. Par exemple, pour définir l’ID de client pour cette client:
builder.AddAzureSearch(
"searchConnectionName",
configureClientBuilder: builder => builder.ConfigureOptions(
static options => options.Diagnostics.ApplicationId = "CLIENT_ID"));
Vérifications d’intégrité
Par défaut, .NET.NET Aspire intégrations permettent vérifications de santé pour tous les services. Pour plus d’informations, consultez .NET.NET Aspire vue d’ensemble des intégrations.
L’intégration .NET AspireAzure ai Search Documents implémente un contrôle d’intégrité unique, qui appelle la méthode GetServiceStatisticsAsync sur le SearchIndexClient
pour vérifier que le service est disponible.
Observabilité et télémétrie
.NET .NET Aspire intégrations configurent automatiquement les configurations de journalisation, de suivi et de métriques, parfois appelées les piliers de l’observabilité. Pour plus d’informations sur l’observabilité de l’intégration et la télémétrie, consultez .NET.NET Aspire vue d’ensemble des intégrations. Selon le service de stockage, certaines intégrations peuvent uniquement prendre en charge certaines de ces fonctionnalités. Par exemple, certaines intégrations prennent en charge la journalisation et le suivi, mais pas les métriques. Les fonctionnalités de télémétrie peuvent également être désactivées à l’aide des techniques présentées dans la section Configuration.
Exploitation forestière
L'intégration des documents de recherche par IA .NET AspireAzure utilise les catégories de journaux suivantes :
Azure
Azure.Core
Azure.Identity
Voir aussi
- Azure Azure AI OpenAI docs
- intégrations .NET.NET Aspire
- .NET Aspire GitHub dépôt