はじめに
2026年3月〜4月に開催された「Oracle Partner AI Demo選手権」に参加し、OCI(Oracle Cloud Infrastructure)の複数のAIサービスを組み合わせたマルチモーダルAI業務アシスタントを開発しました。
2026年4月21日の決勝戦で公開するデモ映像やプレゼンテーションでは、お客様への価値を伝えることを優先したため、アーキテクチャの詳細な説明は省略していました。
本記事では「このデモはどうやって作られているのか?」という技術的な視点から、システム構成とOCIでの実装ポイントを紹介します。
なお、「Oracle Partner AI Demo選手権」イベント参加の様子は、後日「イベントレポート」にて公開予定です。
デモのシナリオ概要
「写真を見せて質問するだけで、データを横断した統合分析が返ってくる」
このシステムは、以下のシナリオを想定したデモンストレーションです。
- 課題: 小売店の店長が主力商品「うるおい緑茶」の売上不振に悩んでいる
- アクション: 自社商品と競合商品の陳列棚の写真をAIアシスタントにアップロードし、「売上不振の原因と対策を教えて」と問いかける
- 結果: AIが即座に統合分析を行い、陳列状況・顧客レビュー・売上データを横断した分析結果と具体的なアクションプランを表示する
本システムは特定の小売業向けシステムとして企画したものではありません。「画像・テキスト・構造化データを1つのプラットフォームで統合分析する」というOCIの提供価値を、幅広いお客様に伝えやすいシナリオとして設計しています。
OCIアーキテクチャ全体構成
まず、全体の構成図をご覧ください。

システムは以下の主要コンポーネントで構成されています。
| コンポーネント | サービス・機能 | 役割 |
|---|---|---|
| フロントエンド | Oracle APEX | デモUI、分析結果表示 |
| AIオーケストレーション | OCI Functions | 複数AIサービスの統合処理 |
| 画像認識 | OCI Vision | 陳列棚写真から商品の位置・配置数を検出 |
| テキスト検索 | AI Vector Search | 顧客レビューのセマンティック検索 |
| 統合分析・提案生成 | OCI Generative AI | 全情報を統合した分析テキストの生成 |
| データベース | Autonomous AI Database 26ai (ADB) | 売上データ、レビュー、ベクトルデータの統合管理 |
| ストレージ | OCI Object Storage | アップロード画像の格納 |
| シークレット管理 | OCI Vault | DB認証情報の安全な管理 |
システム画面
ログイン画面: APEXのアカウント認証画面です。ユーザーがアカウントでサインインしてアシスタントを起動します。

分析入力画面: ユーザーが自社商品と競合商品の棚写真を2枚アップロードし、質問を入力する画面です。

統合分析結果画面: AIが生成した分析カードです。棚写真(OCI Visionの検出枠オーバーレイ付き)、売上推移グラフ、顧客レビュー分析、戦略的アクションプランがまとめて表示されます。

処理フローの詳細
ユーザーが「分析」ボタンを押してから結果が表示されるまでの流れを説明します。

処理はおおよそ以下の5ステップで進みます。ステップ2以降は、OCI Functionsが各AIサービスを順番に呼び出して実行します。
- 画像アップロード: ユーザーがAPEX上で画像を送信すると、APEXがObject Storageへ画像を格納し、分析リクエストをADBに登録する
- 画像解析: OCI Visionが棚写真から各商品の位置と配置数を検出する
- レビュー検索: AI Vector Searchが顧客レビューをベクトル検索し、改善対象商品へのネガティブな声と競合商品へのポジティブな声を抽出する
- 売上データ取得: SQLでADB(Autonomous AI Database)から売上データを検索し、直近の売上トレンドを集計する
- 統合分析: 上記すべての情報を1つのプロンプトに組み込み、OCI Generative AIが分析と対策提案を生成する
各コンポーネントの実装ポイント
1. Oracle APEX — フロントエンドと処理起動
APEXはフロントエンドUI全体を担っています。
PL/SQL から OCI Functions を直接呼び出す構成
画像アップロードから分析起動まで、すべてをAPEXのPL/SQLプロセスから実行しています。DBMS_CLOUD.PUT_OBJECT を使用して Object Storage へ画像を転送し、DBMS_CLOUD.SEND_REQUEST で OCI Functions を直接呼び出します。API Gatewayを介さないシンプルな構成で、デモ環境として必要十分な連携を実現しています。
2. OCI Vision — 棚写真から商品位置を検出
OCI Vision を用いて、棚写真から対象商品のバウンディングボックス(正規化座標)を取得します。
OCI Vision カスタム・モデル による、独自ラベルの検出
OCI Visionの事前トレーニング済みモデルは、Car・Person・Bottleといった一般的なカテゴリの検出に対応していますが、特定の商品名(例: 「うるおい緑茶」)を識別することはできません。今回のデモシナリオでは架空の商品ブランドを検出する必要があるため、OCI Visionの「カスタム・モデル」機能を使いました。
3. AI Vector Search — 顧客レビューのセマンティック検索(RAG)
Autonomous AI Database 26ai のAI Vector Search機能を使い、顧客レビューに対するセマンティック検索を実装しています。
Autonomous AI Database 内でのEmbedding生成
顧客レビューのベクトル化はADB内で完結します。DBMS_VECTOR_CHAIN を使ってOCI Generative AIのEmbeddingモデルを呼び出し、レビューテキストをベクトルに変換します。外部でEmbeddingを生成してDBに取り込む構成と比べて、データの流れがシンプルに保てます。
4. OCI Functions — AIサービスのオーケストレーション
OCI Functionsを、AIオーケストレーターとして実装しています。OCI Visionによる画像解析結果や、ADB(売上データ・顧客レビュー)から抽出した情報を集約。それらを統合してOCI Generative AIに渡し、最終的な分析レポートを生成するという一連のワークフローを一手に担っています。
Resource PrincipalとVaultによる認証管理
OCI Functionsから各サービス(OCI Vision、OCI Generative AI、ADB等)へのアクセスには、Resource Principalを使用しています。これにより、アクセスキーをコードや設定ファイルに持たないセキュアな構成を実現しました。また、ADBへの接続に必要なDB認証情報はOCI Vaultに格納し、OCI Functionsの起動時に動的に取得する設計としています。
5. OCI Generative AI — 統合分析の生成
OCI Generative AI(モデル: cohere.command-r-plus-08-2024)が、収集したすべての情報を1つの回答にまとめます。
プロンプトへの情報統合
以下の4種類の情報をプロンプトに組み込み、統合分析を依頼します。
- OCI Visionによる画像解析結果(商品の陳列位置・配置数)
- AI Vector Searchが抽出した顧客レビュー
- Autonomous AI Databaseから取得した売上トレンド
- ユーザーが入力した質問
サービスの選定
OCI Vision・AI Vector Search・Generative AI・Autonomous AI Databaseという4つのサービスの組み合わせは、マルチモーダルデータの統合分析という提供価値を過不足なく示せる構成として選んでいます。デモ中にアーキテクチャを口頭で説明できるシンプルな構成とする点も、意識した点のひとつです。
Oracle APEXの採用
フロントエンドにAPEXを選んだのは、UI開発の工数を抑えつつ、DB連携やOCIサービス呼び出しをPL/SQLで一元管理できるためです。デモ用途では、フレームワーク選定よりも「見せたいものを素早く動かす」ことを優先しました。
おわりに
本記事では、「Oracle Partner AI Demo選手権」に向けて開発したマルチモーダルAI業務アシスタントのアーキテクチャと、各サービスの実装ポイントを紹介しました。
OCIのAIサービスを連携させる具体的な設計が、同様のシステムを検討される方の参考になれば幸いです。
より詳細な個別技術の解説を、別の記事で公開予定です。お楽しみに!