OACのビジュアライゼーションを生成AIで作成する

# はじめに
OAC（**Oracle Analytics Cloud**）は、生成AIと連携してユーザーの疑問に答えるOracle Analytics AIアシスタントを搭載しています。
利用できるLLMは、OACの組込みLLMと外部LLMです。
OACと連携させるために、ユーザーがLLMを調達してOACで使えるように設定するのがBYO-LLMです。
BYO-LLMとは耳慣れない言葉ですが、Bring-your-own-LLMのことです。
要するにLLMの「持ち込み」です。

この記事を書いている2025年6月上旬の時点では、利用できる外部LLMは OpenAIのgpt4-turboです。

# OpenAI APIキーの取得
たくさん参考になるWebサイトがありますので、それらを見ながらAPIキーを取得してください。

# OACにAPIキーを登録
コンソールメニューに移動します。
「拡張機能とエンリッチメント」セクションの中の「大規模言語モデル」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/fa6bc5c0-ba16-46a1-9824-9eb3127ae3ed.png)

OCI Gen AIを使用するデフォルトのLLMが登録されていますが、「＋」をクリックして外部LLMを登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0c28bf47-6f32-4263-937d-0d71721ee33b.png)

任意の名称を入力し、LLMサービスとして「OpenAI」、モデルとして「gpt-4-turbo」を選択します。
APIキーを貼り付けて、「検証」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/cd8e7d55-5354-4dec-83de-d9eaa871fcd7.png)

失敗しました。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/83c67293-cf5b-404f-bc5d-9ef8676a06bb.png)

失敗する主な原因は、次の通りです。
- キーが間違っている、または無効である
- チャージされていない
- クレジットカードが無効である、または引き落としができない

今回は残高不足でした。
問題解消後、もう一度検証します。今度は成功したので「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6abd0925-f4a1-498f-802d-abaa8a2d4a81.png)

登録したLLMをアシスタント機能で使用する「LLM名」に選択し、「オプション」アイコンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/80b85aba-a57a-415b-a1b2-b952a08f8907.png)

「アシスタントでLLMの組込みナレッジを有効化」チェックボックスがオンになっているのを確認して、「保存」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/cac5eac8-eb55-4cda-af84-efd624e29bab.png)

「更新」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/14699854-11d1-4f99-aa4d-0944fd3c34a8.png)

使えるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b734bba1-6a64-4e2a-b5c4-35a96498dd61.png)

# データセットの準備
任意のデータセットを右クリックして「検査」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/93d568c0-85bb-4a8d-a1f9-75b6398e153f.png)

1. 「検索」タブに移動します。
1. インデックス・データセットを「アシスタント」または「アシスタントおよびホームページの質問」に変更します。
1. アシスタント列で、インデックス化する列にチェックを入れます。
1. 「保存」して
1. 「即時実行」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f802d9ef-b68d-432d-879c-e8f82594947c.png)

# ワークブックでAIアシスタントを試す
インデックスを作成したデータセットを使用して、新しいワークブックを作成します。
「自動インサイト」アイコンをクリックして、「アシスタント」に移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a1344e64-643e-4bc4-8460-b095f75e1e2b.png)

## 最初の質問
- 顧客数が多い都道府県上位5での購買金額の平均は？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/35f2dbcc-0e81-448c-bc94-4d9dee06150c.png)

おお、いい感じです！
データセットの中の適切と思われる列を組み合わた検索結果が表示されました。

## 少し複雑な質問
複雑というよりも、データセットにある情報だけだと問合せを組み立てることができない質問をします。
このデータセットには都道府県の人口データはありません。

- 日本で一番人口の多い都道府県と一番少ない都道府県での購買金額の平均は？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/890bf78a-ebd4-4af5-88ff-a35915282b47.png)

「日本で一番人口の多い都道府県と一番少ない都道府県」を、一般的な知識として補完してくれています。

# まとめ
LLMと連携することで

- 自然文でAIアシスタントに質問できます
- 作り方を知らなくてもビジュアライゼーションを作ってくれます
- データセットに含まれない情報を一般的な知識として補完してくれます

が実現できます。
面白いので、あれこれ試せますね。

# 参考
- [サード・パーティLLMに送信される情報](https://docs.oracle.com/en/cloud/paas/analytics-cloud/acabi/generative-ai-configuration.html)
Oracle Analytics AIアシスタントにリクエストを行うたびに、構成済のサード・パーティLLMと一部の情報が共有されます。共有される情報は、データセットまたはサブジェクト領域のスキーマ定義および問合せの内容です。データセットからの実際のデータはLLMに送信されません。
データセットまたはサブジェクト領域の特定の列を選択して有効にし、その情報をLLMに送信することができます。