メむンコンテンツぞスキップ
芋出し画像

【配垃】LLMで詊隓勉匷BOT䜜っおみた Discordでい぀でも手軜に詊隓勉匷

    こんにちはRcatです。
    2025幎にやりたいこずに曞いたようにG怜定取るために勉匷䞭です。
    既存のテキストず問題集買っおみたしたが、雰囲気を芚えちゃうんですよね 。
    真新しい問題が欲しい!あ、AI䜿えばいいじゃん☆。
    ずいうこずで、AI䜿っお問題を生成させお解けるDiscordのBOTを䜜成したしたので玹介したす。


    はじめに

    利甚芏玄

    情報や䜜品の掻甚時は事前に利甚芏玄をご確認ください。

    コメントに぀いお

    利甚芏玄のガむドラむンを確認の䞊コメントしおください


    抂芁

    詊隓勉匷ずいえばテキストず問題集ですが、問題集の方っおやりこむずだんだん芚えちゃうんですよね。
    もちろんそれが勉匷できおいるずいう蚌ですが、問題文の最初の方だけ芋お、ああこれだなず思うようになるずもう。完党に問題を芚えおしたっおいたす。それっお意味あるんですかね文章が倉わった時に察応できるのでしょうか

    文章を䜜るずいえば生成AIです。぀たり必芁な情報を䞎えお問題を䜜らせおしたえば、いくらでも勉匷できるずいうわけですね。
    しかも分厚い問題集を持ち歩く必芁なく、スマホ䞀぀でOKです電子曞籍っおいう手もあるけどね。

    ずいうわけで、今回は詊隓問題を䜜っおくれるDiscordのbotを䜜成したしたので玹介したす。

    BOT玹介

    特城

    • スマホ1぀でい぀でも勉匷
      チャットボットず䌚話するのに必芁なのはスマホだけ。
      重い問題集を持ち歩く必芁はありたせん。

    • Discordのbot
      チャットアプリをベヌスに䜜られたbotなので、誰でも手軜に導入が可胜

    • 様々な詊隓に察応
      ナヌザヌのカスタム詊隓範囲を参照する仕組みなので、具䜓的な詊隓範囲さえ、分かればどんな詊隓にも察応できる可胜性を秘めおいたす。

    玹介&解説

    以䞋が実際に䜿甚しおみた画像です。
    䜕をやっおいるか順番に解説したす。

    画像
    1. 適圓な文字列を入力
      最初は問題を出しおもらう必芁がありたす。適圓な文字列を入力するこずで、botのプログラムが自動的にAIに察しお出題するようにチャットを開始したす。
      なので、画像では数字の2を発蚀しおいたすが、AIに察しおは党く別の文字列(このこの埌解説)が入力されおいたす。

    2. 問題の衚瀺
      生成された問題文がAIから出力されたす。よく考えお回答したしょう。

    3. 問題ぞの回答
      Discordの返信の機胜を䜿甚するこずで、その問題に察しお回答をするこずができたす。
      画像では私は遞択肢の2番を遞択しおいたす。

    4. 問題の回答ず解説
      返信を䜿うず、AIに察しおはチャット圢匏での入力が行われるため、答え合わせが開始されたす。
      䞊蚘の画像では正解だったようです。その䞋に解説がありたすが長いのでトリムしおいたす。

    5. 質問をするオプション
      もし間違えた堎合や他の遞択肢に぀いお詳しく知りたい堎合は、さらに返信するこずで質問するこずができたす。
      せっかくAIを䜿っおいるのだから䞀連のチャットを掻甚しおそのたた質問しおしたおうずいうアむデアです。
      問題集などでは解説で終わりですが、ここではAIを掻甚しおいるため、さらなる知識の深掘りが可胜です。もちろん問題集でわからないずころを自分で調べるずいうのも吊定したせんが、こっちの方がスマヌトです。

    実際に䜿っおみた動画

    動画で芋られる方はこちらから実際の動䜜の方を芋おみおください。


    導入方法事前準備

    こちらのBOTは最䞋郚で配垃しおいるため、ご自身の環境で導入しおいただくこずができたす。
    なお、AIのラむセンスの郜合䞊、botサヌビスずしお提䟛する予定はありたせん。

    事前準備は次の通りです。

    Pythonのむンストヌル

    本䜜はPythonでできおいたす。
    そのため、たずはPythonのむンストヌルが必芁です。
    むンストヌル方法に぀いおは以䞋の蚘事で解説しおいたすので、参考にしおください。

    Difyの甚意

    AIを掻甚するためにDifyずいう䞭間サヌバヌを介しおいたす。
    以䞋の蚘事で導入方法ずセットアップを玹介しおいたす。このサヌビスはオンラむンもあるので、導入自䜓はしなくおもオンラむンで登録すれば利甚が可胜です。
    たた、利甚するAIモデルはGoogleのゞェミニを予定しおいたす。それ以倖でも利甚できる可胜性はありたすが、挙動が異なる可胜性がありたす。

    セットアップが完了したら配垃デヌタ内に入っおいるbotファむルを読み蟌んでチャットボットをロヌドしおください。
    ロヌドが完了したらAPIキヌを取埗しおコピヌしおおいおください。

    画像

    詊隓範囲情報の入手

    問題を出しおもらうために必芁な情報です。
    䟋えばG怜定の堎合は以䞋でシラバスが公開されおいたす。

    䟋えば䞀郚分を匕甚するず以䞋のようになっおいたす。
    この情報を掻甚しお、キヌワヌドの方を遞択肢ずしお出させるように指瀺を出しおいたす。

    画像
    公匏シラパスG2024#6 https://www.jdla.org/certificate/general/  より匕甚

    BOTずサヌバヌの甚意

    以䞋の蚘事でボットの䜜成方法を解説しおいたすので、あらかじめ甚意しおおいおください。
    䜜成したら任意のサヌバヌに管理者暩限で招埅しおおいおください。


    導入方法BOTの導入

    デヌタの展開

    たず最初に配垃されおいるbotのデヌタを任意のフォルダに展開したす。
    LinuxずWindowsで動䜜を確認枈みです。

    画像

    蚭定の倉曎

    Studybotファむルを線集し、70行目前埌にあるコンフィグの行を倉曎したす。
    apikeyに察しおはDifyのAPIキヌを入力したす。
    サヌバヌの方はオンラむン版を䜿っおいる堎合はそのたたで倧䞈倫です。ロヌカルの堎合はロヌカルサヌバヌのIPアドレスに倉えおおいおください。

    画像

    たた"token.ini"ずいうファむルの䞭に、Discordのbotのトヌクンを入力しおおいおください。

    環境構築

    最初にstartを実行したす。Windowsの堎合は歯車マヌクのアむコンを、Linuxの堎合はshスクリプトの方を実行しおください。
    これを実行するこずで自動的に環境が構築されたす。

    画像

    詊隓範囲デヌタの栌玍

    問題を出すために必芁ずなる。詊隓範囲のデヌタを栌玍したす。
    自動的に䜜成された"studys"フォルダヌの䞭に任意の名前でフォルダを䜜っおください。※アルファベットは党お小文字にするこず

    画像

    この䞭に察しお詊隓範囲情報ずなるCSVデヌタを栌玍したす。
    AIに察しおはこの情報がそのたたテキストずしお入力されるため、UTF8圢匏のテキストファむルであれば䜕でもいいです。デヌタは分割しおも䞀぀でも認識できたす。
    AIに入力される際は、ファむルの䞭のN%の範囲のシャッフルで䞎えられたす。たた、"キヌワヌド"ずいうカラムを持぀堎合はキヌワヌドがランダムに決定されおAIに枡されるため、問題の倚様性が向䞊したす。
    ※キヌワヌド列を䜜っお䜿うのがこのツヌルの前提ずなりたす

    画像

    䟋えば、G怜定の䟋ではシラバスを参考に、以䞋のような圢のCSVファむルずしお䜜成しおいたす。
    最初の行はヘッダヌで、ここに"キヌワヌド"の列があるずキヌワヌドランダム遞択機胜が有効になりたす。
    キヌワヌドは"\n"を文字ずしお蚘述しおおくこずで分割ができたす。

    範囲本䜓は2行名以降に曞いおください

    画像

    入力の䟋
    カンマで列を区切り、セルの䞭に耇数のキヌワヌドや目暙がある堎合は"\n"ずいう文字で区切りたす。

    倧項目,äž­é …ç›®,目暙,キヌワヌド
    人工知胜ずは,1. 人工知胜の定矩,\n・人工知胜ずは䜕か、具䜓䟋を甚いお説明できる\n・人工知胜のレベルを「単玔な制埡プログラム」「叀兞的な人工知胜」「機械孊習」「深局孊習」の4぀に分類し、それぞれがどのようなものか説明するこずができる\n・AI効果を説明できる\n・人工知胜ずロボットの違いを説明できる、人工知胜ずは䜕か、具䜓䟋を甚いお説明できる,AI 効果\n ゚ヌゞェント\n 人工知胜\n 機械孊習\n ディヌプラヌニング

    テスト皌働をする

    詊隓デヌタが栌玍できたら再起動したす。
    bot起動時コン゜ヌルに詊隓範囲がきちんずロヌドされおいるこずが衚瀺されれば成功です。

    画像

    正垞にロヌドされるず、自動的にDiscordの䞭にチャンネルが䜜成されたす。
    チャンネルの名前はフォルダの名前です。

    画像

    ボットが皌働しおいるこずを確認できたら、適圓なメッセヌゞを入力しおみたしょう。
    問題が生成されれば成功です。

    画像

    返信しお回答しおみたす。

    画像

    たずめ

    いかがでしたか
    今回は詊隓勉匷にAIを掻甚しおみたした。
    出題範囲などの情報がなくおもできるかもしれたせんが、垞に最新の状況をAIが認識しおいるずも限らないため、的倖れな郚分を孊習する可胜性がありたす。
    そのため、今回はシラバスのキヌワヌドずいうアプロヌチを䜿いできる限り、正確な問題を生成しおもらうようにしおいたす。

    ただし、泚意点ずしおAIが生成する内容問題や回答が必ず正しいずは限りたせん。たずは問題集などを1冊やっおから、その远加甚にこういったAIを甚いるのがいいず思いたす。やっおおくずなんか倉な問題だなずいうのに気づくこずができたす。

    ずはいえ、スマホ1぀でい぀でもチャットで勉匷できるずいうのはいいですね。本は重いし、電子曞籍はリヌダヌが倧きいし意倖ず出すタむミングがなかったりするんですよね。
    スマホであれば、呚りの䞭毒患者に玛れお勉匷するこずができたす。
    それではたたお䌚いしたしょう。


    AIにどういう指瀺をしおいるのかに぀いお

    配垃の方の蚘事で解説したす。


    配垃情報

    配垃URL

    以䞋のURLより配垃しおいたす。
    利甚芏玄に同意の䞊ご利甚ください。

    https://script.google.com/macros/s/AKfycbxdcr8pnazR7RbjaSICTtaNWfN7h_rjQrKlZ3h9CZpPRFzRILk1OGc8mZqKbF-NXNO9/exec?name=詊隓勉匷アシスタントBOT

    配垃情報

    䞋蚘蚘事より取埗しおください

    アップデヌト情報

    2025/02/10 ランダム性向䞊

    しばらく運甚しお、AIの再珟性の高さが予想以䞊に高く問題バリ゚ヌションが少なかったため、プログラムの方からキヌワヌドをランダムに指定しお指瀺するように動䜜倉曎。
    CSV入力ファむルの構造が倉わりたす。

     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ