こんにちは、ice_soiです!
フリーランスエンジニアをしています。
Googleが2024年6月に「NotebookLM」をリリースしました。
NotebookLMはGoogleが開発したAIメモアプリです。従来のメモアプリとは異なり、AIを活用して情報を整理・生成・疑問解決をサポートしてくれます。
また、ソースををユーザが渡してあげる事で信頼性のある回答を返してくれます。
ソースを自分で提供してそれに基づいた回答を返してくれるので自分用のチャットbotが作れるみたいです!
そこで、今回は「NotebookLM」を使ってMinecraftのクラフトレシピ辞典を作ってみようと思います!
クラフトレシピ辞典を作ろうと思った目的
ちょっと前にMinecraftの新しいアップデートが来たので、以前も記事にした1.21のサーバを立てて遊んでいますが、「あれ、どうやって作るんだっけ・・・」みたいなことが結構あります。。。
ミニPCにSpigotでMinecraftのマルチサーバを立ててみた
調べればわかるんですが、もっとパッと出てくるといいなぁ・・・と前から思いつつ、簡単な検索システムみたいなものを作るっていうのも考えましたが、そこまでするのもなぁ・・・と思っていたときにNotebookLMがリリースされたことを知りました!
自分で提供したソースに基づいてAIが回答を返してくれるというので、「もしかしてクラフトレシピを渡せばどうやって作ればいいか答えてくれるかも・・・」と思い作ることにしました!
あとは単純にNotebookLMを使ってみたいというのもありました!
NotebookLMとは?
NotebookLMがどういったものなのかをせっかくなのでGoogleが開発したGeminiに聞いてみました!
AIがサポートしてくれるメモアプリで、活用例としては下記のような感じで使えるようです!
また、有料・無料それぞれプランがあるようです。今回は無料プランを使います!
クラフトレシピ辞典の完成形
NotebookLMはチャットベースでやり取りができるので、例えばチャットで「鉄のつるはし」と聞いたら「鉄のつるはしの作り方はこうです!」といったように返せるようにします。
その際、レシピ画像を出力できるとクオリティが高くなりますが、現状はまだ出力できなさそうなのでテキストベースでマスを作って出力するようにします。そして、記号に対応したアイテム名も一緒に出力することで何が必要かわかるようになります!
+ーー+ーー+ーー+ | 〇 | 〇 | 〇| +ーー+ーー+ーー+ | | △ | | +ーー+ーー+ーー+ | | △ | | +ーー+ーー+ーー+ 〇:鉄インゴッド △:棒
あとはクラフトレシピをNotebookLMに渡してあげることで上記の出力ができるようになって、バージョンアップしたときにアイテムが追加された時なども、新しいクラフトレシピをソースとして渡してあげれば追加もできるようになります!
クラフトレシピ辞典の作り方
作り方といっても「NotebookLM」にソースを渡すだけなので簡単でした! NotebookLMにアクセスして新しいノートブックを作ります。 そして大本となる参考文献をアップロード元から選択します。 参考文献のアップロード方法は複数あるようです。 テキストファイルやPDFでもアップロードできるので情報がたくさんある場合はそちらの方法でもよさそうです! 一旦そんなに情報量がないのでコピーされたテキストで下記の内容を入力しました!
# マインクラフトのクラフトレシピを下記の条件で出力してください。 # クラフトレシピは3×3の9マスで出力してください。 # 各マス最大9種類の素材が入ります。 # レシピを左上から3つずつ当てはめてください。 +ーー+ーー+ーー+ | | | | +ーー+ーー+ーー+ | | | | +ーー+ーー+ーー+ | | | | +ーー+ーー+ーー+ # 素材名は〇、●、△、▲、□、■、◇、◆、▽、▼、★のいずれかに置き換えて枠外に注釈としてどれに該当するかを記載してください。 # レシピは先頭にアイテム名でそれ以降素材名をカンマ区切りの一行で渡します。何もない場所は空欄で設定します。 # 石のつるはしであれば石のつるはし,丸石,丸石,丸石,,棒,,,棒, # レシピは別ソースで提供します。 # 該当するアイテム名が複数ある場合当てはまるアイテム名を候補として列挙してください。
回答するときの出力形式や内容定義したものになります。
簡単にテキストベースでレシピを出力するようにしていて、マス内にいずれかの記号が配置されてどう置けばいいかがわかるようになっています。
記号も枠外に対応する素材名を出力してもらうようにしました。
レシピはアイテム名,素材,素材・・・といったカンマ区切りのフォーマットにしました。
CSVとかで加工することがあれば対応しやすいという事もありますし、単純でシンプルだったので今回はそういったフォーマットにしています。
あと、編集ができないので間違った時は一回削除して作り直す必要があります。
次はレシピのソースを作ります。
とりあえずつるはしのレシピを同じようにコピーされたテキストで入力しました。
# 木のつるはし,板材,板材,板材,,棒,,,棒, # 石のつるはし,丸石または深層岩の丸石またはブラックストーン,丸石または深層岩の丸石またはブラックストーン,丸石または深層岩の丸石またはブラックストーン,,棒,,,棒, # 鉄のつるはし,鉄インゴット,鉄インゴット,鉄インゴット,,棒,,,棒, # 金のつるはし,金インゴット,金インゴット,金インゴット,,棒,,,棒, # ダイヤのつるはし,ダイヤ,ダイヤ,ダイヤ,,棒,,,棒,
今回はツール単位でソースを作りましたが、バージョン単位やカテゴリ単位などいろいろ分けることができそうです。
これで準備ができたのでチャットでレシピを聞いてみます。
鉄のつるはしのレシピを回答してくれました!
微妙にマスがずれていますが目的は達成できたので後々調整します・・・
とりあえずつるはしのレシピを追加しましたが、同じようなソースを増やしていけばいろいろなレシピを回答してくれるようになります!
Mincraftのレシピは大量にあるので一旦エクセルとかで加工してソースにしていけばよいかもです!
使ってみた感想
前から欲しいと思っていた機能がこんなに簡単に作れました!
使用感としてチャットのレスポンスは速く特にストレスなく使えました。
また、新しいレシピが増えれば追加するだけなので簡単に保守もできるというあたりは結構便利だなぁと思います。
ソースを作るのは量が多いとちょっと大変ですが、一回作ればずっと使えるので最初だけ頑張って作る価値はあると思いました!
今回のように検索システムを組むほどではないけどデータから情報を検索したい時に相性がよさそうだと思います!
まとめ
今回はNotebookLMでマイクラのクラフトレシピ辞典を作ってみました!
簡単に作れて便利になったので作ってよかったと思いました!
また、他のことで同じような機能が欲しくなったときにも仕組みは流用できそうだったので、結構いろいろなことに使えそうです!
今回の記事が何かの参考になれば幸いです!
最後までお読みいただきありがとうございました。