初めに
前の記事ではMit App InventorでGeminiAPIを使用する方法を記載しました.その方法では過去の質問.回答内容を考慮しない返答になります.
今回はinteractive chatを実装し,過去のChatに応じた回答を行うことができるBlockを作成します.
質問を送るときに,過去のchat履歴(質問&回答)を一緒に送ることで,履歴に応じた返答がGeminiAPIによって行われます.
aiaファイル
aiaファイルのpiKeyはご自身のに書き換えて実行してください.
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 ドキュメント