2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのAI EngineとLINE組み合わせて音声で良い感じに登録出来るTODOアプリ作ってみた

Posted at

24497.jpg

先日の記事に続き、さくらのAI Engineの機能としてリリースされた文字起こし機能を利用して、LINEに話しかけることでTODOリストが登録出来るアプリを作ってみました。

前回同様公式は亀田さんの記事がとても丁寧に書かれていますので合わせてご覧ください。

こちらもめちゃくちゃ簡単で、前回の記事が出来ている状態なら10分もかからず出来ます。シンプルですがLINEで登録出来ることで意外と実用的だったりもしますので、ご興味ある方は是非やってみて下さい。

最終的なシナリオは以下のようになります。

image.png

準備

前回の記事の、Bot開通まで終わらせて下さい。

Botに話しかけると、「こんにちは〜!」と返ってくる状態まで出来ている状態です。最後まで進めてしまっている方は既存のものを編集ではなく、新しく作成し同じ手順でここまで進めることをオススメします。

ユーザーの発話をファイルとして受け取る

ではまず音声ファイルの受取です。LINE Botの場合は入力窓横のマイクボタンをタップすると音声を録音し送信出来るようになっています。

Screenshot_20251001-120859.png

Makeのシナリオを開き、WebhookとReplyの間に1つHTTP > Make a Requestモジュールを追加しましょう。

貼り付けた画像_2025_10_01_12_13.png

ドキュメント記載の通りユーザーの入力が音声ファイルであり、それをサーバー側で取得したい場合はhttps://api-data.line.me/v2/bot/message/{messageId}/contentにアクセスすることでコンテンツを取得出来ます。

モジュールに設定していきましょう。

貼り付けた画像_2025_10_01_12_17.png

貼り付けた画像_2025_10_01_12_26.png

一度Run Onceし、前述のマイクボタンを押して録音、送信してみましょう。
Screenshot_20251001-120859.png

Screenshot_20251001-125830.png

問題なく終われば、シナリオのモジュール上に処理結果の数字が表示されます。終端のモジュールをクリックし、適当な入力欄をクリックしてみましょう。

追加したモジュールで音声ファイルの取得が行われ、Dataに入っていることが確認出来ます。

貼り付けた画像_2025_10_01_12_19.png

さくらのAI Engineに投げ、文字起こしされた結果を取得する

ファイルの取得が出来たので、こちらをさくらのAI Engineに投げ、文字起こしを行います。

公式ドキュメントはこちらです。

curlで実行する場合はこのような形になります。

curl --request POST \
    --url https://api.ai.sakura.ad.jp/v1/audio/transcriptions \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <TOKEN>' \
    --header 'Content-Type: multipart/form-data' \
    --form 'file=@sample.mp3' \
    --form 'model=whisper-large-v3-turbo'

これをMake上で設定しましょう。同様にHTTPモジュールを追加し、以下のように設定して下さい。

貼り付けた画像_2025_10_01_12_28.png

image.png

Run Onceし、挙動を確認します。文字起こしされていることが確認出来ます。

貼り付けた画像_2025_10_01_12_36.png

結果を更にさくらのAI Engineに投げ要約と整形を行う

文字起こしが出来たのでこの段階でもそのままLINE Botから返信することでTODOリストとして機能させることはできるのですが、「えーと」などのノイズが入ってしまったり、タスクじゃないことを発言してしまって言い換えてしまったような時にそのまま記録されてしまうと不便ですよね。また、実は文字起こしして入力するだけなら純正キーボードの機能で出来てしまいます。

なので、一度これAIで整形する処理を挟みましょう。

具体的には

  • タスクのみを抜き出す
  • えーと、あの〜、などのノイズを除去する
  • 誤認識を訂正する
  • 見やすい箇条書きにする

という処理を与えてAIに処理させます。

systemプロンプトは以下としました。

あなたは要約のスペシャリストです。入力から、タスクとして切り出すべきものを抜き出し、要約しながらテキストで出力して下さい。箇条書きは中黒を行頭に、改行を行尾につけて下さい。ノイズとなるような単語は全て削除して下さい。

Make上でモジュールを更に追加し、設定していきます。

Request contentの全文は以下です。{{4.data.text}}がハイライトされない場合は一度削除してクリックで選択し直して下さい。

{
       "model": "gpt-oss-120b",
       "messages": [
        {
           "role": "system",
           "content": "あなたは要約のスペシャリストです。入力から、タスクとして切り出すべきものを抜き出し、要約しながらテキストで出力して下さい。箇条書きは中黒を行頭に、改行を行尾につけて下さい。ノイズとなるような単語は全て削除して下さい。"
         },
         {
           "role": "user",
           "content": "{{4.data.text}}"
         }
       ],
       "temperature": 0.7,
       "max_tokens": 1000,
       "stream": false
     }

貼り付けた画像_2025_10_01_12_43.png

image.png

Run Onceし、挙動を確認します。整形されていることが確認できます。

貼り付けた画像_2025_10_01_12_47.png

問題なさそうですので、Botからの返信を「こんにちは〜!」から、今追加したモジュールの出力に変更しましょう。

貼り付けた画像_2025_10_01_12_50.png

試しにノイズ多めでたくさんのタスクを話しかけてみます。無事に見やすく整形されていることが確認できました。

24497.jpg

シナリオの常時起動

最後に、これまではRun Onceで毎回起動させていたシナリオを常時起動に切り替えましょう。シナリオ一覧に戻り、ラジオボタンをONに切り替えます。

貼り付けた画像_2025_10_01_13_01.png

これでBotとして常時入力を受け付けるようになりました。ただし無料枠の場合は制限もありますので本番運用するような場合はご注意下さい。

まとめ

無料でとても簡単にTODOリストアプリを作成できました。しかも制限はありますが無料で利用できます。

高機能なTODOリストとして機能させるにはまだまだ機能追加が必要ですが、LINEを利用することで手軽さという価値があるのではないかと思います。

LINEには他にも様々なAPIがありますので、ご興味ある方は是非公式ドキュメントを見てみて下さい。面白いアプリの登場を心よりお待ちしております。

ちょっとだけコミュニティ宣伝

LINE Developer CommunityではLINEや生成AI、クラウド等の情報が日々アウトプットされております。

皆様によるさくらのAI × LINE Botのノウハウはもちろん、LINEやチャットボットに関する知見のアウトプットを心よりお待ちしております。

イベント情報
勉強会アーカイブ他動画コンテンツ

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?