Azure AI サービスを使用する Java アプリを開発する

この記事では、Azure OpenAI Service やその他の Azure AI サービスを使用するアプリケーションを開発する方法を学習するためのドキュメント、サンプル、その他のリソースを提供します。

Azure AI リファレンス テンプレート

Azure AI リファレンス テンプレートを使用すると、適切に維持でき、デプロイが簡単な参照の実装が提供されます。 これにより、インテリジェント アプリケーションの高品質な開始点が確保されます。 エンドツーエンドのソリューションにより、一般的で包括的な参照アプリケーションが提供されます。 構成要素は、特定のシナリオとタスクに焦点を当てた小規模なサンプルです。

エンドツーエンド ソリューション

リンク 説明
RAG を使用する Java エンタープライズ チャット サンプルの概要 Java 用のエンタープライズ チャット アプリのサンプルのデプロイと使用について説明する記事。 このサンプルは、Azure で実行される検索拡張生成 (RAG) パターンを示す完全なエンドツーエンド ソリューションです。Azure AI 検索を使用して取得し、Azure OpenAI の大規模言語モデルを使用して ChatGPT スタイルと Q & A エクスペリエンスを強化します。

構成要素

リンク 説明
Azure OpenAI を使用してチャット アプリを構築する (Python) ReadableStream 上の JSON 行を使用して ChatGPT から HTML/JS フロントエンドに応答をストリーミングするシンプルな Python Quart アプリです (Java コードはリファレンスとして提供されており、JavaScript に適合させることができます。)
Azure OpenAI を使用して LangChain を構築する (Python) HTTP Get または Post 入力としてユーザーのプロンプトを受け取り、ユーザーによる入力とテンプレートのチェーンを使用して完了を計算する方法をサンプルで示します。 これは、より高度なチェーンに使用できる開始点です。 (Java コードはリファレンスとして提供されており、JavaScript に適合させることができます。)
Azure Container Apps を使用して ChatGPT プラグインを構築する (Python) GitHub Codespaces、VS Code、Azure を使用して ChatGPT プラグインを作成するためのサンプルです。 このサンプルには、Azure Developer CLI を使用して Azure Container Apps にプラグインをデプロイするためのテンプレートが含まれています。 (Java コードはリファレンスとして提供されており、JavaScript に適合させることができます。)
Azure AI Java テンプレート ギャラリー Azure AI テンプレートの完全な一覧については、ギャラリーを参照してください。 ギャラリー内のすべてのアプリ テンプレートは、azd up という 1 つのコマンドを使用してスピンアップおよびデプロイできます。
Azure Container Apps によるスマートな負荷分散 このサンプル ソリューションは、Microsoft のハイ パフォーマンス YARP C# リバース プロキシ フレームワークを使用して構築されています。 ただし、これを使用するために C# を理解する必要はありません。提供される Docker イメージをビルドするだけです。 これは、同じロジックによる API Management OpenAI スマート ロード バランサーの代替ソリューションです。
Azure API Management によるスマートな負荷分散 エンタープライズ ソリューションは、可用性と優先度に基づいて 2 つ以上の OpenAI または任意の API バックエンドを使用する効率的なロジックを維持しながら、単一のエンドポイントをアプリケーションにシームレスに公開する Azure API Management ポリシーを作成する方法を示します。

Azure OpenAI

エンドツーエンド ソリューション

リンク 説明
RAG を使用する Java エンタープライズ チャット サンプルの概要 Java 用のエンタープライズ チャット アプリのサンプルのデプロイと使用について説明する記事。 このサンプルは、Azure で実行される検索拡張生成 (RAG) パターンを示す完全なエンドツーエンド ソリューションです。Azure AI 検索を使用して取得し、Azure OpenAI の大規模言語モデルを使用して ChatGPT スタイルと Q & A エクスペリエンスを強化します。

構成要素

リンク 説明
Azure Cache for Redis Enterprise を使用したベクター類似性検索 (Python) RAG シナリオのバックエンド ベクター ストアとして Azure Cache for Redis を使用する手順について説明する記事です。 (Java コードはリファレンスとして提供されており、JavaScript に適合させることができます。)
PostgreSQL を使用した独自のデータを含む OpenAI ソリューション (Python) Azure Database for PostgreSQL フレキシブル サーバーと Azure Cosmos DB for PostgreSQL が pgvector の拡張機能をどのようにサポートするかについて、概要、シナリオなどと共に説明する記事 (Python コードはリファレンスとして提供されており、Java に適合させることができます)。

SDK

Package ソース コード リリース Maven
azure-ai-openai ソース コード リリース Maven パッケージ
azure-ai-openai-assistants ソース コード リリース Maven パッケージ

サンプルとガイダンス

リンク 説明
GPT-35-Turbo と GPT-4 の使用を開始する チャット入力候補のサンプルを作成する手順を説明する記事。
入力候補 指定したプロンプトの入力候補を取得する方法を示す簡単な例。
ストリーミング チャットの入力候補 ストリーミング チャットの入力候補を使用する方法を示す簡単な例。
OpenAI から Azure OpenAI に切り替える OpenAI と Azure OpenAI Service の間で切り替えるために、コードに加える必要がある小さな変更に関するガイダンスを含む記事。
OpenAI と Microsoft Entra ID ロールベースのアクセス制御 Microsoft Entra ID を使用した認証について説明した記事。
OpenAI とマネージド ID Azure ロールベースのアクセス制御 (Azure RBAC) が必要なより複雑なセキュリティ シナリオを詳しく説明する記事。 このドキュメントでは、Microsoft Entra ID を使用して OpenAI リソースに対する認証を行う方法について説明します。
その他のサンプル Azure OpenAI サービスのサンプルは、クライアント ライブラリを使用した Azure OpenAI サービスとのやり取りを示す自己完結型 Java プログラムのセットです。 各サンプルは特定のシナリオに重点を置き、個別に実行できます。
その他のガイダンス Azure OpenAI Service のドキュメントのハブ ページ。

オープンソース統合

SDK

Package ソース コード リリース Maven
langchain4j-azure-open-ai ソース コード リリース Maven パッケージ
langchain4j-azure-ai-search ソース コード リリース Maven
langchain4j-document-loader-azure-storage-blob 該当なし リリース Maven

その他の Azure AI サービス

エンドツーエンド ソリューション

リンク 説明
キャプションとコール センターの文字起こし コール センターのシナリオでのキャプションと文字起こしのサンプルを含むリポジトリ。

SDK

リンク 説明
Azure AI Document Intelligence SDK Azure AI Document Intelligence (旧称 Form Recognizer) は、機械学習を使用してドキュメントのテキストと構造化データを分析するクラウド サービスです。 Document Intelligence ソフトウェア開発キット (SDK) は、Document Intelligence のモデルと機能をアプリケーションに簡単に統合できる一連のライブラリとツールです。

サンプルとガイダンス

リンク 説明
音声 SDK サンプルを使用して音声をアプリに統合する Azure Cognitive Services Speech SDK のサンプルのコレクション。 音声認識、翻訳、音声合成などのサンプルへのリンク。
Java で Form Recognizer を使用して、フォーム、領収書、請求書、カードから構造化データを抽出する Azure.AI.FormRecognizer クライアント ライブラリのサンプルのコレクション。
Java で Text Analytics を使用して、ドキュメント内のテキストを抽出、分類、理解する Text Analytics 用のクライアント ライブラリ。 これは、テキストを理解し分析するための自然言語処理 (NLP) 機能を提供する Azure AI Language サービスの一部です。
Java でのドキュメント翻訳 ドキュメント翻訳を使用して、構造とテキストの書式を保持しながらソース ドキュメントをターゲット言語に翻訳する方法を説明するクイック スタート記事。
画像の分析 Microsoft Azure AI Image Analysis SDK のサンプル コードとセットアップ ドキュメント