azure-ai-projects-java

npx skills add https://github.com/microsoft/skills --skill azure-ai-projects-java

Azure AI Projects SDK for Java

SDK haut niveau pour la gestion de projets Azure AI Foundry avec accès aux connexions, datasets, indexes et évaluations.

Installation

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-ai-projects</artifactId>
    <version>1.0.0-beta.1</version>
</dependency>

Variables d'environnement

PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project>

Authentification

import com.azure.ai.projects.AIProjectClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;

AIProjectClientBuilder builder = new AIProjectClientBuilder()
    .endpoint(System.getenv("PROJECT_ENDPOINT"))
    .credential(new DefaultAzureCredentialBuilder().build());

Hiérarchie des clients

Le SDK fournit plusieurs sous-clients pour différentes opérations :

Client Objectif
ConnectionsClient Énumérer les ressources Azure connectées
DatasetsClient Charger des documents et gérer les datasets
DeploymentsClient Énumérer les déploiements de modèles IA
IndexesClient Créer et gérer les indexes de recherche
EvaluationsClient Exécuter les évaluations de modèles IA
EvaluatorsClient Gérer les configurations d'évaluateurs
SchedulesClient Gérer les opérations planifiées
// Construire les sous-clients à partir du builder
ConnectionsClient connectionsClient = builder.buildConnectionsClient();
DatasetsClient datasetsClient = builder.buildDatasetsClient();
DeploymentsClient deploymentsClient = builder.buildDeploymentsClient();
IndexesClient indexesClient = builder.buildIndexesClient();
EvaluationsClient evaluationsClient = builder.buildEvaluationsClient();

Opérations principales

Lister les connexions

import com.azure.ai.projects.models.Connection;
import com.azure.core.http.rest.PagedIterable;

PagedIterable<Connection> connections = connectionsClient.listConnections();
for (Connection connection : connections) {
    System.out.println("Name: " + connection.getName());
    System.out.println("Type: " + connection.getType());
    System.out.println("Credential Type: " + connection.getCredentials().getType());
}

Lister les indexes

indexesClient.listLatest().forEach(index -> {
    System.out.println("Index name: " + index.getName());
    System.out.println("Version: " + index.getVersion());
    System.out.println("Description: " + index.getDescription());
});

Créer ou mettre à jour un index

import com.azure.ai.projects.models.AzureAISearchIndex;
import com.azure.ai.projects.models.Index;

String indexName = "my-index";
String indexVersion = "1.0";
String searchConnectionName = System.getenv("AI_SEARCH_CONNECTION_NAME");
String searchIndexName = System.getenv("AI_SEARCH_INDEX_NAME");

Index index = indexesClient.createOrUpdate(
    indexName,
    indexVersion,
    new AzureAISearchIndex()
        .setConnectionName(searchConnectionName)
        .setIndexName(searchIndexName)
);

System.out.println("Created index: " + index.getName());

Accéder aux évaluations OpenAI

Le SDK expose le SDK officiel d'OpenAI pour les évaluations :

import com.openai.services.EvalService;

EvalService evalService = evaluationsClient.getOpenAIClient();
// Utiliser directement les APIs d'évaluation OpenAI

Bonnes pratiques

  1. Utiliser DefaultAzureCredential pour l'authentification en production
  2. Réutiliser le builder de client pour créer plusieurs sous-clients efficacement
  3. Gérer la pagination lors du listage de ressources avec PagedIterable
  4. Utiliser des variables d'environnement pour les noms de connexion et la configuration
  5. Vérifier les types de connexion avant d'accéder aux credentials

Gestion des erreurs

import com.azure.core.exception.HttpResponseException;
import com.azure.core.exception.ResourceNotFoundException;

try {
    Index index = indexesClient.get(indexName, version);
} catch (ResourceNotFoundException e) {
    System.err.println("Index not found: " + indexName);
} catch (HttpResponseException e) {
    System.err.println("Error: " + e.getResponse().getStatusCode());
}

Liens de référence

Ressource URL
Documentation produit https://learn.microsoft.com/azure/ai-studio/
Référence API https://learn.microsoft.com/rest/api/aifoundry/aiprojects/
Source GitHub https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-projects
Exemples https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-projects/src/samples

Skills similaires