以下のように動作します。Gemini APIはチャット形式のやり取り(OpenAIのChat Completionsとほぼ同じ)と関数呼び出し(OpenAIのFunction Callingとほぼ同じ)もサポートしていますが、これらの実装はまた別の機会にしようと思います。
写っている動物の質問に使った画像は以下です。
APEXのアプリケーションの作りは単純です。
Textのページは、質問を入力するテキスト領域のページ・アイテムであるP2_TEXT、質問を送信ボタンRUN、Geminiのレスポンスのマークダウンを読み取り専用で表示するP2_RESPONSEから構成されています。
ボタンRUNを押した時に実行されるプロセスとして、以下のコードを記述します。ほとんどの処理はパッケージUTL_GOOGLE_GEMINI_APIで行っています。このコードは記事の末尾に添付しています。
Geminiを呼び出すプロセスのコードは以下になります。
今回作成したアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/google-gemini.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完