azure-ai-projects-java について
Java 開発者向けに、Azure AI Projects Java SDK で Azure AI Foundry プロジェクトを管理するスキルガイドです。接続、データセット、インデックス、デプロイ、評価を扱います。
主な機能
- 01プロジェクト接続の管理
- 02データセットのアップロードと管理
- 03モデルデプロイの一覧表示
- 04検索インデックスの作成と管理
- 05評価の実行とスケジュール管理
活用シーン
- 01接続済み Azure リソースの確認
- 02プロジェクトのデータセットへの文書アップロード
- 03プロジェクト検索インデックスの保守
- 04モデル評価の実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill azure-ai-projects-javaインストール後、Claude Code で/azure-ai-projects-javaを入力して読み込まれたか確認します。
詳細
Azure AI Projects SDK for Java
Azure AI Foundry のプロジェクト管理に使用する高レベル SDK です。接続、データセット、インデックス、評価を利用できます。
バージョンとデータの境界
このガイドでは、過去のベータ版 SDK を取り上げています。クライアントビルダーやモデルのシグネチャーを使用する前に、選択したアーティファクトの正確な API を確認してください。互換性のある ID/コア依存関係を固定し、最小限のテストをコンパイルしてください。承認済みのテストプロジェクトでは、合成データを使用してください。データセットのアップロード、インデックスの変更、評価プロバイダーの料金やスケジュールは、それぞれ別の影響を伴います。実行前に、実行先、保持期間、コストを確認してください。接続の認証情報は決してログに記録しないでください。
インストール
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-projects</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
環境変数
PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project>
認証
import com.azure.ai.projects.AIProjectClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;
AIProjectClientBuilder builder = new AIProjectClientBuilder()
.endpoint(System.getenv("PROJECT_ENDPOINT"))
.credential(new DefaultAzureCredentialBuilder().build());
クライアント階層
この SDK では、操作ごとに複数のサブクライアントを利用できます。
| クライアント | 用途 |
|---|---|
ConnectionsClient | 接続済みの Azure リソースを列挙します |
DatasetsClient | ドキュメントをアップロードし、データセットを管理します |
DeploymentsClient | AI モデルのデプロイを列挙します |
IndexesClient | 検索インデックスを作成、管理します |
EvaluationsClient | AI モデルの評価を実行します |
EvaluatorsClient | 評価設定を管理します |
SchedulesClient | スケジュールされた操作を管理します |
// Build sub-clients from builder
ConnectionsClient connectionsClient = builder.buildConnectionsClient();
DatasetsClient datasetsClient = builder.buildDatasetsClient();
DeploymentsClient deploymentsClient = builder.buildDeploymentsClient();
IndexesClient indexesClient = builder.buildIndexesClient();
EvaluationsClient evaluationsClient = builder.buildEvaluationsClient();
主な操作
接続の一覧表示
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());
}
インデックスの一覧表示
indexesClient.listLatest().forEach(index -> {
System.out.println("Index name: " + index.getName());
System.out.println("Version: " + index.getVersion());
System.out.println("Description: " + index.getDescription());
});
インデックスの作成または更新
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());
評価との統合
EvaluationsClient が OpenAI EvalService である、または getOpenAIClient() を公開していると想定しないでください。インストールしたベータ版 SDK の正確なリファレンスを確認し、その API で説明されている評価クライアントを構築してください。これらは別々の SDK サーフェスであり、互換性のある依存関係、エンドポイント、認可が必要です。
ベストプラクティス
- 本番環境での認証には DefaultAzureCredential を使用します
- 複数のサブクライアントを効率よく作成するには、クライアントビルダーを再利用します
PagedIterableでリソースを一覧表示する場合は、ページネーションを処理します- 接続名と設定には、環境変数を使用します
- 認証情報にアクセスする前に、接続の種類を確認します
エラー処理
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());
}
参考リンク
使用する場合
このスキルは、概要で説明されているワークフローやアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記の範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、成功基準が不足している場合は、作業を中断して確認を求めてください。