1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MIT App Inventorで音声認識を用いたAIとの対話アプリを作成する(会話ができるGemini Liveを真似してみた!)

Last updated at Posted at 2024-11-27

はじめに

Gemini Live便利ですよね!調べものするときに使用してます.
ここではMIT App Inventorを用いたAIとのおしゃべりアプリ(Gemini Liveの真似)を作成します.MIT App Inventorに搭載されている音声認識とGemini APIを使用した対話型のAIとのコミュニケーションアプリです.

aiaファイル

aiaファイルのAPIKeyはご自身のに書き換えて実行してください.

オリジナル対話アプリ
MIT App Inventorでsystem instructionを指示します.この指示の文章でAIの回答を調整でき,ユーザーに適した回答を行えるように指示することでオリジナリティあふれる色々なアプリに応用できます!

system instruction:システム命令を使用してモデルの動作を制御する
システム指示を使用すると、特定のニーズやユースケースに基づいてモデルの動作を制御できます。
システム指示を設定すると、モデルにタスクを理解するための追加のコンテキストが提供され、よりカスタマイズされたレスポンスが可能になります。また、モデルとユーザーのインタラクション全体を特定のガイドラインに準拠して行うことができます。また、エンドユーザーが提供するプロンプトとは別にシステム指示を設定することで、プロダクト レベルの動作を指定することもできます。

アプリの概要

ボタンをクリックするとAIとの会話がスタートします.初めはユーザーがAIに話しかけます.話しが終わると,アプリが音声をテキストに変換し,Gemini APIに渡します.レスポンスが来ると,回答をスマホがしゃべります.しゃべり終わると,音声認識をスタートし,会話を続けることができます.
ただ,Geminiの解答中に割り込んでユーザーの音声を認識させることができないため,この点に関してはGemini Liveに劣っているところです.

MIT App InventorでのGemini APIを用いたアプリ開発について
MIT App InventorからGenimiを使用する方法 (interactive chat)

API keyの取得

Google AI Studioにアクセスをし,APIKeyを作成する.

MIT App Inventorの作業

Designer画面

以下のように作成します.

スクリーンショット 2024-11-27 115728.png

機能 内容
Button_音声認識 ボタン,AIとの対話スタート.
Button_tinyDB_リセット ボタン,tinyDB(履歴)のリセットを行う.
Button_履歴 ボタン,対話履歴の閲覧.
Button_音声STOP ボタン,AIのレスポンスの回答の音声を止める.
Label_response ラベル,回答の表示する.
SpeechRecognizer1 音声をテキストに変換する.
Web1 Gemini APIにリクエストを送る.
TextToSpeech1 Gemini APIの解答をしゃべる.

Blocks画面

変数

  • history
    対話型のチャットを行うために,履歴を残す.
    blocks (2).png

  • url
    Gemini APIにアクセスするURL

https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=

blocks (3).png

  • apiKey
    GeminiAPIを使用するためのAPIKey
    ここに自身のAPIKeyを貼り付ける.
    blocks.png

  • system_instruction
    AIの回答を指示する,要求に対応できる文章を入力して下さい.

貴方は何でも知っている神です.
回答はtextToSpeechをしようして,音声にして利用者に伝えます.
以下に示す注意点を厳守して回答してください.
音声で回答するため,回答には音声で回答できないテキスト,絵文字を含めないでください.
回答は100文字以内で回答できるとよいです.内容によっては超えても構いません.
漢字の読みが間違いそうな場合にはひらがなで回答してください.

blocks (1).png

ボタンクリック

  • Button_音声認識
    blocks (5).png

  • Button_tinyDB_リセット
    blocks (6).png

  • Button_履歴
    blocks (7).png

  • Button_音声STOP
    blocks (8).png

ほかのブロック

  • when Screen1. Initialize
    blocks (4).png

  • when Speech Recognizer1 After getting text
    blocks (9).png

  • when Web1 get text
    blocks (10).png

終わりに

プログラミングを行うことなく,AIとの対話型のコミュニケーションを行うことができるようになりました.生成AIは莫大な情報を学習しているのでsystem_instructionの設定次第でいろいろな使い道があると思います!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?