初めに
前の記事ではMit App InventorでGeminiAPIを使用する方法を記載しました.その方法では過去の質問.回答内容を考慮しない返答になります.
今回はinteractive chatを実装し,過去のChatに応じた回答を行うことができるBlockを作成します.
質問を送るときに,過去のchat履歴(質問&回答)を一緒に送ることで,履歴に応じた返答がGeminiAPIによって行われます.
API keyの取得
Google AI Studioにアクセスをし,APIKeyを作成する.
MIT App Inventor側の作業
Designer画面
以下のように作成します.
・system_instruction
モデルに与える指示や役割を定義するパラメータ.
・question
Geminiに送る質問文.
Blocks画面
変数
Gemini APIにアクセスするためのアドレス
https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=
・apiKey

Google AI StudioからApiKeyを取得し,貼り付ける.
・history
GeminiAPIとのやり取りをListの格納先.

Gemini APIへのアクセス
・Buttonを押したとき.
変数historyに入力した質問文を追加する.これをsystem_instructionと一緒にGeminiAPIへ送信する.

・responseが来たとき.
回答を表示し,変数historyに追加する.TinyDBにも保存することで,アプリを終了させても履歴を保持できる.

終わりに
interactive chatを私用することでアプリへの応用が広がると思います.
今回はテキストを使用したが,画像でもやってみたい.
#参考資料
Gemini API ドキュメント

