Oracle APEXの新機能、アプリケーション作成アシスタントを使って、自然言語からアプリケーションを作成してみた

# はじめに
新たにリリースされたOracle APEX24.1の新機能、**アプリケーション作成アシスタント**を使用して、**自然言語**でアプリケーションを作成します。

**アプリケーション作成アシスタント**は、OpenAIなどの生成AIサービスを使用し、ユーザーが入力したテキスト（自然言語）を使ってアプリケーションのブループリント（設計図）を作成することが出来ます。

実装したい機能を自然言語で指定するだけでアプリのブループリントが作成されるので、**アプリ開発が簡素化**され、**カスタマイズ機能の開発に集中**することができます。
<br>
**【前提条件】**
- Oracle APEXのワークスペースが作成済みであること
  （ワークスペースの作成方法は[こちら](https://qiita.com/marfujim/items/a9ebe698c865e20d4852#1-1-apex%E7%92%B0%E5%A2%83%E3%81%AE%E6%BA%96%E5%82%99)をご参照ください。）
- 使用可能なAPIキーが作成済みであること
        （OpenAIのAPIキー取得方法は[こちら](https://qiita.com/marfujim/items/3e2fe1861a7b148e41b1#openai%E3%81%AE%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90)をご参照ください。）
:::note info
Oracle APEXの生成AIサービスは、2024年8月現在、**OpenAI、Cohere、OCI Genarative AI**をAIプロバイダーとして使用することが出来ます。OCI Genarative AIは、**APEX24.1.2以降**でのみ使用可能です。
:::


**【所要時間】**
20分程

# 1. 生成AIサービスの作成
**アプリケーション作成アシスタント**の機能を使用するため、APEX上で生成AIサービスを作成します。

既にAPEX上で生成AIサービスを作成済みの場合は再度作成いただく必要はありません。[2. データセットのインストール](https://qiita.com/marfujim/items/64fcb4f743d968338d50#2-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)へスキップします。

1. 作成したAPEXのワークスペースにログインし、**アプリケーション・ビルダー**をクリックします。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/f444d3c9-787b-f6be-dfd7-0347bcf94d09.png)


2. **ワークスペース・ユーティリティ**をクリックします。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/0236a250-130b-d4ec-7609-21070f49f741.png)


3. **生成AI**をクリックします。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/242a8375-f209-bb99-f4c9-489c01c5b821.png)


4. **作成**をクリックし、生成AIサービスを作成します。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/366c6e6e-d415-356c-8977-82e580a2202d.png)


5. 以下の通りに記入し、**作成**をクリックします。
    - **AIプロバイダ** - OpenAI
    - **名前** - 任意（本記事では、OpenAI Demoとしています）
    - **アプリケーション・ビルダーで使用** - トグルをオン
    - **APIキー** - 取得したAPIキー
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/ce6ac5f0-c186-6998-afe5-d6db520ec6ed.png)


6. 生成AIサービスを作成する事が出来ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/5713e6d2-3e75-d608-afc1-9ac4b3508a93.png)


# 2. データセットのインストール
アプリケーションを作成するためには、データセットが必要です。
既にワークスペース上にデータセットがある場合、[3. 生成AIを使用したアプリケーションの作成](https://qiita.com/marfujim/items/64fcb4f743d968338d50#3-%E7%94%9F%E6%88%90ai%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90)へスキップしても大丈夫です。

1. 画面上部の**検索**をクリックし、**検索フィールド**にサンプルと入力します。検索結果に表示される**サンプル・データセット**をクリックします。
![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/ced579e2-d63c-a9e0-6178-b1cccc60e495.png)


2. アプリケーションの作成に必要なデータをインストールします。本記事では、**顧客オーダー**というサンプル・データセットをインストールします。**インストール**をクリックします。
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/50a407eb-ca63-40c0-4a36-7c93a91ff89a.png)


3. **次**をクリックします。
![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/1b600913-0e04-b069-e23b-13fed0e6c99e.png)


4. **データセットのインストール**をクリックします。
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/651e423f-4bb2-d52c-c599-d051ed6b7791.png)


5. データセットのインストールが終了しました。**終了**をクリックします。
![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/eb315bb3-8baf-bdca-9ff8-d7ca0df27818.png)


6. インストールしたデータセットを確認してみます。**SQLワークショップ**をクリックします。
![26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/8c9658f0-5111-3dbf-a6d0-f516babb8457.png)


7. **オブジェクト・ブラウザ**をクリックします。
![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/58b9b44b-7733-2421-86cf-65df92fd0d5a.png)


8. 作成された表一覧を確認することが出来ます。データをみて、どの様なデータが格納されているか確認します。確認が終わったら、**アプリケーション・ビルダー**をクリックします。
![28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/2e56aff5-1b31-8608-db4c-a2ba05896485.png)



# 3. 生成AIを使用したアプリケーションの作成
生成AIサービス、データセットの用意ができたので、**アプリケーション作成アシスタント**を使用して実際にアプリケーションを作成してみます。

1. アプリケーション・ビルダーで、**作成**をクリックします。
![31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/be196da9-027c-0cbc-5b2c-9785914fc251.png)


2. **生成AIを使用したアプリケーションの作成**をクリックします。
![32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/a86d2c8d-1963-0db7-2e23-21ccf0a5ca68.png)


3. この様なポップアップが表示された場合は、**承認**をクリックします。
![33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/15a49140-7503-9b17-a99e-f349a3e4e92f.png)

4. メッセージを入力し、APEXアシスタントに指示を出します。アプリケーションの作成に使用して欲しい表を指定し、アプリケーション内にどの様なページが欲しいか説明します。持っているデータセットに合わせてメッセージは適宜変更してください。

    APEXアシスタントからの返答を確認し、問題が無ければ**アプリケーションの作成**をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/01e5b15b-4702-08bf-e366-3b59ee74949c.png)


    
    :::note info
    **メッセージ例：**
    orders, stores, products, order itemsおよびcustomersに関するアプリケーションを開発してください。オーダーのステータスを確認する事の出来るファセット検索ページと、製品を検索できるページ、顧客の情報を確認できるページ、ダッシュボードページを実装して下さい。

5. アプリケーションのブループリントが作成されました。APEXアシスタントが作成したページが表示されています。他にもページを追加したい場合や、ページを編集したい場合はこのページから行う事が出来ます。

    アプリケーションのブループリントに問題がなければ、**アプリケーションの作成**をクリックし、アプリケーションを作成します。
![image (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/aa57063a-53c8-e6d2-dcee-606f65fc18c8.png)



6. アプリケーションが作成されました。**アプリケーションの実行**をクリックし、アプリケーションを確認します。
![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/31c1ab9b-5b71-5b55-3e34-3aef79076973.png)



7. ログインページが表示されます。ワークスペースの**ユーザー名とパスワード**を入力し、アプリケーションにログインします。
![image (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/2b1ebedb-127a-7b12-c629-48e818ca22e0.png)



8. 作成したアプリケーションが表示されました。
APEXアシスタントに指示をした通り、**オーダーのステータスを確認する事の出来るファセット検索ページ**が作成されています。

    他のページも指示通りに作成されているか確認するため、画面上部の**ナビゲーション・バー**をクリックします。
![image (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/402754e5-b9bb-9c35-66ba-6cb5aecb2b59.png)


9. **Product Search**ページを確認してみます。APEXアシスタントに指示をした通り、**製品を検索できるページ**が作成されています。
![image (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/302c2f0e-6d62-5e02-95ed-919793e3694c.png)

    製品を検索できるか試してみます。
    画面上部の検索フィールドに**Blue**と入力し検索すると、製品名にBlueがついた製品を検索する事が出来ました。
![image (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/11d6f591-d0de-b555-697d-955a4cc29723.png)

10. 次は**Customer Information**ページを確認します。指示した通りに、**顧客の情報を確認できるページ**が作成されています。
![image (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/7e7c43ee-cbfe-8758-946c-2d8e945b4330.png)

11. 最後に**Dashboard**ページを確認します。ダッシュボードページも指示した通りに作成されていました。![image (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762201/c62095cf-1ad6-c1f7-ed7a-3845eb19d503.png)


アプリケーション作成アシスタントを使用すると、**自然言語でAPEXアシスタントに指示**をするだけで、アプリケーションを**速く簡単に作成**する事が出来ました。
以上で本記事は終了です。様々なデータセットでAPEXアシスタントを試してみて下さい。


# 参考資料
- [What's New in Oracle APEX 24.1](https://apex.oracle.com/en/platform/features/whats-new-241/)
- [Oracle APEX AI Assistant、エンタープライズ・アプリケーションの自然言語ベースによる開発を実現](https://www.oracle.com/jp/news/announcement/oracle-apex-ai-assistant-enables-natural-language-based-development-of-enterprise-applications-2024-06-17/)
- [Managing Generative AI Services](https://docs.oracle.com/en/database/oracle/apex/24.1/htmdb/managing-generative-ai-services.html#GUID-2AE4465F-8BD6-4BE0-AFCA-7962F6991715)
- [Coding with the AI Powered APEX Assistant on Oracle APEX](https://blogs.oracle.com/apex/post/coding-with-the-ai-powered-apex-assistant-on-oracle-apex)