見出し画像

Difyで英語を学ぶアプリを作ってみよう

生成AIアプリケーションが増えてきて、いろいろ使えるものが出てきました。Difyはご存じでしょうか?DifyはいろいろなAIを自分で組み合わせてアプリケーションを簡単に作ることが可能です。
コーディングの経験がなくても、GPTsのようにアプリを作ることができ、さらにいろいろなモデル(ChatGPTやGemini, Claudeなど)を選んで使うことができて作ってみるのが楽しくなりますのでおススメです!


Difyはこちらのリンクから利用できますので、ここから登録してみてください。

また、こちらの記事を参考にいただくとDifyの使用について基本的な流れがお分かりいただけるかと思います。

英語学習アプリを作ってみよう

今回はDifyで簡単に作れる英語の学習アプリを作ってみようと思います。

以前の記事で書かせていただいたのですが、英語を学習するには多読が適していると思っています。

ただ、普通に読み進めていくよりも生成AIに問題を作ってもらったり、ポイントを解説してもらったりするとより一層楽しめると思い、今回はdifyに英語の本をナレッジとして与え、そこから問題を作ってもらうアプリを作成することにしました。

アプリ作成の流れは大まかには以下のようになります。

  1. ナレッジのダウンロード

  2.  ナレッジの設定

  3. アプリ作成
    3.1 プロンプトの入力
    3.2 ナレッジ設定(コンテキストの設定)

アプリを作成し終わったら予想したとおりに動くかどうか使ってみましょう!

ナレッジのダウンロード

まず、ナレッジとなる本のデータをプロジェクトグーテンベルクのサイトからダウンロードします。
プロジェクトグーテンベルクでは、アメリカ著作権の下で著作権が切れた名作をダウンロードすることができます。

プロジェクトグーテンベルクにはいろいろな名著がありますが、以下のように、どれでも好きなもので構いません。比較的多読しやすいものとして以下のものなどがあります。

不思議の国のアリス
単語のレベルは比較的簡単ではありますが、不思議の世界観がつかみにくかったり、英語のダジャレがあったり難しい部分もあります。

エルマーのぼうけん
動物がしゃべったりすることはありますが、比較的平易な文で書かれており、文量も多いわけではないので読みやすいです。

美女と野獣
ディズニー映画でも有名で、映画と比べながら原作を読んでみるのもいいと思います。単語も難しくなく、文章量も控えめです。

プロジェクトグーテンベルクから読みたい本を選んで、以下のようにテキストでダウンロードします。
テキストでダウンロードして、PDFに変換してしておくとdifyで扱いやすいです。
テキストファイルのままだと容量オーバーすることがありました。

テキストファイルをダウンロード

ナレッジ設定

ダウンロードした本のデータをDifyに読み込ませて、ナレッジとして設定します。

ナビゲーションバーから「ナレッジ」を選ぶ

ナレッジを選択

テキストファイルからインポート

「テキストファイルからインポート」を選んで、「テキストファイルをアップロード」というところにダウンロードしてPDFに変換した本のデータをアップロードします。

テキストファイルからインポート

テキストの前処理とクリーニング

チャンク設定
まずは自動で使ってみます。

インデックスモード
インデックスモードの処理をする際にはLLMのAPIを少し消費します。

検索設定

ベクトル検索を選びます。このアプリではベクトル検索の機能はほとんど使いませんが、ベクトル検索を使えば、「アリスが、HATTER(帽子屋)とMarch Hare(3月ウサギ)に出会った場面から問題を出して」などのように文章内の意味を検索することができるので、問題を出す場面を指定するようなことが可能になります。

検索設定

アプリ作成

ナビゲーションバーから「スタジオ」を選びます。

「アプリを作成する」の下にある「から作成」を選びます。
「から作成」の日本語がおかしいんですが、これは[ Create from Blank ] の翻訳がおかしくなってますね。Blankという言葉を意味の通りブランクにしてしまったんでしょうか。。

「から作成」を選ぶ

チャットボットを選んで、アプリの名前や説明を付けます。
アプリ名:English Leaner
説明:英語を楽しく学ぼう!

この辺りはよしなに決めちゃってください。

アプリ作成

プロンプトの入力

日本語設定にしていても[ Orchestrate ] と出ていますが、これはオーケストラの指揮をするとか、計画をするとかいう意味があるので、アプリケーションの振る舞いをここで決めます。

「手順」の部分に以下のプロンプトを入れてください。

you have a book "Alice in Wonderland" as a knowledge.

you are English teacher for ESL(English as a second language) students.

Extract a passage of approximately 500 to 1000 characters from the book 'Alice in Wonderland'. First, show it. after that, create an English question with four multiple-choice options based on the information discernible from that passage.

Ensure that your answer is unbiased and does not rely on stereotypes.

手順の右側に「自動」と書かれているボタンがあって、プロンプトにやってほしいことを適当に書いてから「自動」ボタンを押すといい感じにプロンプトを編集してくれます。

ナレッジ設定(コンテキストの設定)

コンテキストに追加したナレッジを設定することでアプリケーションがナレッジを使えるようになります。

コンテキストの右にある「追加」ボタンから設定したナレッジを追加してください。

会話の開始

最後に機能追加で、会話の開始に以下のように入れておくとユーザーが始めやすいです。

Hello, I will create questions from the book 'Alice in Wonderland' to help with your English comprehension. Shall we get started?

実行結果

実行した結果は以下のような画面になります。

実行画面

スタートをするとよどみなく問題を出してくれます。
今回は4択で質問させていますが、プロンプトで問題形式は自由に変更することが可能です。
また、私はこちらが言わなくてもどんどん問題を出してほしいのでこのような形にしていますが、プロンプトを修正すれば問題を続けるかどうか確認させたり、問題の要望を与えることも可能です。

何度か試していたところ、正解が2つある問題が出てきたり、正解が見当たらない問題が出てきたりしました。
この辺りはLLMによっても精度が変わってくるので、LLMを変えてテストするのもよいですね。ただ、LLMを変えるとプロンプトがまるで効かなくなることもありますので、そういった違いも含めて楽しんでみてください。

まとめ

無料で使えるデータをナレッジとして、Difyで簡単なアプリを作成してみました。Difyのようなツールを使うと、プログラミングの知識がなくてもアプリを作成する楽しさを体験できます。一度動くものを作れると、その動きが楽しくてどんどん改良したくなりますよね。ぜひ一度試して遊んでみることをお勧めします。

私は今後、もう少し改良するか、別のアプリとしてGoogleスプレッドシートと連携させて学んだ単語や好きな文章、セリフを蓄積することなどを考えています。生成AIと連携したアプリ作りは、新しい学びやアイデアの可能性を広げてくれます。皆さんもぜひ、Difyを使って自分だけのオリジナルアプリ作りに挑戦してみてください。


いいね!やフォローで、ぜひ応援よろしくお願いします!
励みになります!

また、X(旧Twitter)でAIについての雑談を不定期に行っておりますのでフォローをお願いいたします。


いいなと思ったら応援しよう!