はじめに

完了

生成型 AI アプリケーションは、生産性と意思決定に革命を起こす可能性がある変革的なツールです。 これらのインテリジェント アシスタントは、人工知能とデータ分析を利用して、コンテキストに応じた分析情報と自動サポートを提供します。 複雑なワークフローを合理化し、重要なことに、ユーザーの要件に適応し、進化し続ける AI の世界で不可欠なものにすることができます。

この学習モジュールでは、多用途で広く使用されているプログラミング言語である Python と、Microsoft が提供するグローバル分散型マルチモデル データベース サービスである Azure Cosmos DB for NoSQL を使用して、Generative AI アプリケーションを構築する複雑さを詳しく説明します。 Python と Azure Cosmos DB for NoSQL を統合することで、開発者はスケーラブルでアダプティブな Generative AI アプリケーションを作成でき、柔軟性と堅牢性の強力な組み合わせが提供されます。

ジェネレーティブ AI アプリケーションとは

生成 AI アプリケーションは、インテリジェントなコンテキスト対応のサポートを提供し、反復的なタスクを自動化し、意思決定プロセスを強化することで、人間の能力を強化し、生産性を向上させるように設計された高度な AI アシスタントです。 たとえば、AI Generative AI アプリケーションは、コード レビューに役立ち、ソフトウェア開発の改善を提案できます。 顧客サービスでは、日常的なクエリを処理し、より複雑な問題のために人間のエージェントを解放できます。 データ分析では、大規模なデータセットのパターンと傾向を特定できます。 AI 生成 AI アプリケーションは、このようなさまざまな分野で使用できます。

Python を使用する理由

Python のシンプルさと読みやすさにより、AI および機械学習プロジェクトで一般的なプログラミング言語になります。 LangChain、FastAPI などの広範なライブラリとフレームワークは、高度なジェネレーティブ AI アプリケーションを開発するための堅牢なツールを提供します。 Python の汎用性により、開発者は迅速に反復処理と実験を行えるので、AI アプリケーションを構築するための最適な選択肢となります。

Azure Cosmos DB for NoSQL

Azure Cosmos DB は、高可用性、低待機時間、シームレスなスケーラビリティを提供するフル マネージドの NoSQL データベース サービスです。 ドキュメント、キー値、グラフ、列ファミリなど、さまざまなデータ モデルを処理する機能により、高度な生成 AI アプリケーションのための堅牢なバックエンドになります。

さらに重要なのは、AI 生成 AI アプリケーションを構築するときに、Azure Cosmos DB はデータ ストアとベクター ストアの両方として機能できることです。これは、データ ポイントの数学的表現であるベクターの格納と取得に最適化された特殊なデータベースです。 この機能は、統合データベース システム内でベクター検索機能をシームレスに統合します。 これらの機能により、Azure Cosmos DB は、取得拡張生成 (RAG) を実装するための優れたプラットフォームになります。 RAG は、OpenAI の GPT-4 のような大規模な言語モデル (LLM) の機能を強化し、LLM でプライベート企業情報を使用する問題の解決に役立ちます。 これらのモデルは、特定の時点でのパブリック情報のスナップショットである膨大なデータセットに対してトレーニングされます。つまり、最新のパブリック データやプライベート企業情報は含まれません。 さらに、LLM は幅広い一般的な知識を持ちますが、RAG プロセスを組み込むことは、特定のドメインに応答をより正確に集中するのに役立ちます。これは、多くの場合、AI 生成 AI アプリケーションに必要です。

このモジュールを完了すると、次のことができるようになります。

  • Python と Azure Cosmos DB for NoSQL を使用してプライベート データを操作できる Generative AI アプリケーションを構築します。
  • Azure Cosmos DB for NoSQL でベクターを効率的に取得して格納します。
  • Azure Cosmos DB for NoSQL を使用して類似性検索を実行します。
  • LangChain オーケストレーションを使用してデータと AI モデルを統合し、インテリジェントで適応可能な Generative AI アプリケーションを作成します。