ISBN 9784839984991
Azure OpenAIプログラミング入門
概要
Azure OpenAI ServiceをC#で実装し、チャット・画像生成・Embedding・Webアプリまで一気通貫で習得する
想定読者
AzureでのC#開発経験があり、OpenAIの機能をエンタープライズ環境で活用したいバックエンド・Webエンジニア
こんな人には向いていない
- PythonやJavaScriptを主言語とし、OpenAI APIを直接呼び出す構成で問題ない開発者(C#/.NET前提のため技術スタックが噛み合わない)
- GPT-4系の最新モデルや本番スケールのMLOpsを扱いたい読者(本書はGPT-3.5ベースで解説しており、モデルバージョンが古い)
- LangChainやSemantic Kernelなどのオーケストレーションフレームワーク活用を期待する読者(本書の範囲はAzure OpenAI SDK直接呼び出しにとどまる)
読了後にできるようになること
- Azure OpenAI Studioでモデルをデプロイし、APIキー・エンドポイントを取得して呼び出す基本操作
- C#コンソールアプリからChatCompletionAPIを呼び出してチャット機能を構築する実装パターン
- DALL-Eによる画像生成リクエストと、OpenAI APIとAzure OpenAI APIの使い分けの判断軸
- Embeddingベクトルを使った文書分類・類似度算出の実装方法とユースケース
- GPT-3.5ベースのファインチューニング(微調整)の手順と適用場面の見極め
- Azure App ServiceへのWebアプリデプロイとAAD認証によるアクセス制御の設定方法
本書のキー概念(章解説)
- 第 1 章 OpenAIとAzure — Azure OpenAI ServiceとOpenAI APIの違い・メリットを整理する導入章。既存Azure利用者は読み飛ばし可能
- 第 2 章 OpenAI Studioを利用する — GUIでモデルをデプロイしAPIを試すハンズオン。C#コードに入る前の動作確認として有用
- 第 3 章 チャット(ChatCompletion)を活用する — 本書の中核。GPT-3.5 Turboへの会話履歴付きリクエスト実装を丁寧に解説
- 第 4 章 イメージ生成(DALL-E)とOpenAI APIの利用 — DALL-E画像生成と、Azure経由でなくOpenAI直接呼び出しが必要なケースを合わせて説明
- 第 5 章 Embeddingと微調整 — 分類・類似性算出とファインチューニングを扱う章。RAG設計の前提知識としても参照価値あり
- 第 6 章 Webアプリケーションから利用する — Azure App Serviceへのデプロイ・認証設定まで踏み込んだ実践章。業務利用を想定する読者は優先的に参照
- 第 7 章 OpenAI Studio以外のAI Studio — Azure AIポータル拡張の概要紹介。発展的なサービス連携の入口として位置づけられる
ハイライト
- すでにAzureで開発を行っていてOpenAIの機能を使いたい方や、OpenAI APIの機能は使えるが、スケーラビリティ確保を考えている方におすすめの1冊です。(本書の想定読者を端的に示す記述で、Azure既存ユーザーとOpenAI既存ユーザーの双方が乗り換え先として検討できる範囲を明示している)
- 本書で紹介している機能をすべて実行しても、数百円程度に収まります(実行後、サービスの利用停止などが必要です)(実費コストが読者の試し読みハードルに影響するため、コスト感の提示は購入判断に直結する実用情報)
外部からの言及
- Azure OpenAI ServiceをC#/.NETで利用する入門記事は複数存在するが、いずれも公式ドキュメントやMicrosoft Learnを参照元としており、本書を直接引用した記事は確認できない。C#でのAzure OpenAI実装に関心を持つ開発者は一定数いるものの、Qiita上のコミュニティ言及は希薄な状況(qiita)
編集メモ
Qiita上での直接言及記事は確認できず(検索ヒット0件)、楽天ランキング情報も未取得。2023年10月刊でGPT-3.5ベースという制約もあり、現時点では補完的な選択肢として位置づける
読む前に押さえておきたいこと
- C#の基本文法とVisual Studio Communityの操作経験(クラス・非同期処理・NuGetパッケージ管理)
- Azureポータルへのアクセス権限とサブスクリプション(Azure OpenAI Serviceの申請承認が事前に必要)
- HTTPリクエスト・JSONの基礎理解(APIレスポンスの読み方)
学習のコツ
- Chapter 1-2はAzure未経験者向けの導入なので、Azure利用経験があればChapter 3から読み始めると効率的
- Chapter 5のEmbedding節は、のちにRAGアーキテクチャを学ぶ際の基礎になるため、ファインチューニングに興味がなくても読んでおく価値がある
- Chapter 6のWebアプリ展開は業務利用を目標とする読者の最終ゴール。Chapter 3-5で基本APIを理解してから取り組むと詰まりが少ない
- 本書のコードはGPT-3.5前提のため、GPT-4oなど最新モデルに差し替えて動かしてみることで現在の環境との差分を体感できる
出版社による内容紹介
本書は、Microsoftが提供するAzure OpenAI Serviceを使って、大規模言語モデルを使ったプログラミングの基礎から、目的に応じたさまざまな設定方法、Webアプリケーションでの利用方法までを解説します。 ※Azure OpenAI Serviceは、OpenAI APIをAzureから利用できるものです。これを使うことによって、Azureの持つスケーラビリティや信頼性、各種機能を活かしつつプログラムを作ることができます。 最初に「Azure OpenAI Studio」を利用してモデルの用意や機能の概要を学んだのち、「Visual Studio Community」を使って、C#で開発を行っていきます。 最初はコンソールアプリを作りながら「チャット」と「イメージ生成」「Embedding(分類や類似性の算出)」「微調整(ファインチューニング)」のプログラミング方法を解説します。 その後、Webアプリケーションの作成やデプロイ、アクセスできるユーザーの制御などの方法を解説します。 すでにAzureで開発を行っていてOpenAIの機能を使いたい方や、OpenAI APIの機能は使えるが、スケーラビリティ確保を考えている方におすすめの1冊です。 解説はGPT-3.5ベース(3.5 turbo)で行っています。 ※Azure OpenAI Serviceは有料のサービスです。本書で紹介している機能をすべて実行しても、数百円程度に収まります(実行後、サービスの利用停止などが必要です) Chapter1 OpenAIとAzure Chapter2 OpenAI Studioを利用する Chapter3 チャット(ChatCompletion)を活用する Chapter4 イメージ生成(DALL-E)とOpenAI API の利用 Chapter5 Embeddingと微調整 Chapter6 Webアプリケーションから利用する Chapter7 OpenAI Studio以外のAI Studio
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。