Michael: Hello! マイケルだ!
Mary: ワタシハ、Siriデス
Michael: メアリー……ChatGPT関連の記事だからって、Siriをいきなりイジるのはやめといた方がいいぞ!
あとドラクエ4とかもダメだ!
Mary: 最初からガンガンいかない方が良いってことね!
でもドラクエ4って結局何だったの? ChatGPTの登場でAIそのものの概念が……
Michael: それじゃあ今回は、AIパワー with Obsidian!「Text Generator」を試してみよう! Let’s get started!!
Mary: シカト!?
基本的な使い方
Michael: プラグインの導入はとっても簡単だ! 事前にOpenAIのアカウントを作成して、APIキーを取得しておこう。
後はプラグインをインストールして設定画面を開いたら、一番上の入力欄にコピーしたAPIキーをペーストするだけ。GPT-4のAPIを使う場合は、その下の「Model」でGPT-4を選択することを忘れずにね。
APIキーや、後に出てくる「トークン」については前回の記事を参考にしてくれ!
これで準備は完了。適当にノートを開いてと……。メアリー、試しにAIに何か尋ねてみてよ!
Mary: OK! じゃあこんなのはどう?
Michael: 良い質問だメアリー! さぁ、コマンドパレットを開いて「Generate Text!」を選択しよう!
デフォルトではCtrl (⌘) + J がショートカットキーとして登録されているから、そっちでもOK。
さて、どうなるかな?
Mary: Wow! すごいわ! Big Bang Theoryよ! 私、クリプキが好き!
Michael: ああメアリー、最高のリアクションだ! 主人公シェルドンのライバル、バリー・クリプキ博士のことなんて98%の日本人は知らないってことを除けばね!
気を取り直して……続けて訊いてみよう。
Michael: 赤い部分が入力、その他がAIからの回答だ。こんなふうに以前の内容を踏まえた質問もできるぞ!
ただし会話が長く続くと、トークン数が多くなりがちな点には注意しよう。
Mary: どうして?
Michael: ChatGPTは前の会話を覚えてるわけじゃない。会話が続けられるのは、それまでのやり取りを全部送信してるからなんだ。
試しに1行だけ送信してみよう。質問を入力して、そのテキストを選択してから「Generate Text!」すれば、指定した部分だけを送信できるぞ!
Mary: 「文脈が無い」って言われたわ。ところでマイク、文脈って何?
Michael: OKメアリー……そいつは後でじっくり話そう。今日は長くなりそうだぜ!
Text Generatorの設定項目
Michael: 基本的な使い方がわかったところで、設定項目をもう少し見ておくとしよう。
名称 | 意味 |
---|---|
Max tokens | AIの返答に使用されるトークン数の上限 |
Temperature | 返答のランダム性。 0にすると、同じ質問には必ず同じ答えが返される |
Frequency penalty | 生成された単語に対するペナルティを課し、 同じ単語を使いにくくなる |
Output generated text to blockquote | AIからの返答がコードブロックとして出力される |
IncludeTitle | 質問にノートのタイトルを含める |
設定はデフォルトで使っても問題は無いけど、日本語だと500トークンは思ったより少ない。
長めの回答が欲しいなら「Max tokens」は若干大きめに設定しておいた方が良いかもしれないね。
他にも色々と設定できる項目はあるから、より進んだ使い方を試したい人は作者のページで確認しよう!
Text Generatorのテンプレート機能
Mary: 一応なんとなく使えるようにはなったけど、マイク……これってOpenAIのWebサイトでチャットしてるのと変わらなくない?
今のところ、あんまりスゴいプラグインには思えないんだけど……
Michael: 相変わらず鋭いなメアリー! そう、今の時点ではほとんど変わらない。こいつの強みは「テンプレート機能」にあると言っても過言ではないんだ。
Mary: テンプレートって「定型文をあらかじめ用意しておく」ってやつよね? それがどう強みになるの?
Michael: ChatGPTを使う上で最も重要なのが「プロンプト」、つまり「どう質問するか」だ。
欲しい答えにより近い返答を得るには、ユーザー側でAIを誘導してやる必要があるってことだね。
たとえば「夕食のメニューを提案して」みたいなざっくりした質問では、こんな返答しか返ってこない。
これってとっても……なんていうか……セクシーじゃないだろ?
レシピを提案してほしいなら、具体的な情報や条件を与えた方がより求める答えに近づける。
ただこういった細かな条件を毎回毎回入力するのも面倒だよね? そこでテンプレートの出番ってわけさ!
テンプレート機能の準備
Michael: テンプレートは自分で作成することもできるんだけど、始めはプラグインに生成してもらうと話が早い。
コマンドパレットで「Template Packages Manager」を起動しよう。
テンプレートがまとめられたパッケージがいくつかリストアップされる。どれかをクリックして「Install」だ。
今回は一番オーソドックスな「Default Prompts Package」をインストールするぜ!
これで準備は完了! あとは実際に使ってみよう。
AIに簡単に説明してもらう
Michael: ここでは例として、この文章を使うことにする。
現在では熱を100% の効率で、仕事に変えることは出来ないことが知られている。 このことは熱が微視的な物体の乱雑な動きから構成されており、 確かにそれらはエネルギーを持ってはいるのだが、それらを 秩序だった仕方で取り出し、何らかのことに役立てることが 困難であることによっている。
これはWikipediaの「熱力学」のページから引用した文章だ。なんだか難しくて堅苦しい印象だよね。
これをAIに簡単に説明してもらうとしよう。
テンプレートを使うには、この文章をそのままノートに貼り付けて、コマンドパレット「Generate & Insert」を選択する。
さらにもう一度コマンドを選択する画面が出てくるから、ここでは「Simplify」を選ぼう。
出てきた回答がこれだ!
Mary: すごーい! 確かに私にもわかりやすいわ!
でもマイク、「簡単に説明して」って言ってないのに、どうしてこんなことができるの?
Michael: それがテンプレートの便利なところさ。 実際に見てみよう。
テンプレートを編集する
Michael: Obsidianのファイルエクスプローラーを確認してみると、新しく「textgenerator」ってフォルダが作成されているはずだ。その中には「prompts」や「default」ってフォルダが含まれてるね。
Mary: さっきの「simplify」と同じ名前のファイルもあるわ!
Michael: その通り。さっき見た2つ目の選択肢はこのファイルさ! 中身は普通の.mdファイルだから、開いて中を覗いてみよう。
Mary: マイク、あなたったら嫌な人ね! ちゃっかり事前に編集してるじゃない!?
Michael: ごめんごめん! デフォルトでは返答が英語になりやすいからね!
でも僕が編集したのは一番下の「プロンプト」だけだ。他は何も変えてないよ。
ここで重要なのは{{context}}
だ。これは入力した内容が入る変数だね。つまりさっきの小難しい文章がここに当てはまる。
全体としてどんな質問がAIに送られるかって言うと、「(小難しい文章) を5才児でも理解できるように、わかりやすく説明してください」だ!
Mary: 変数と定型文のおかげで、面倒な作業を何度もしなくてよくなるってことね! なんて素晴らしいの!
Michael: そうさメアリー! テンションブチ上がるだろ!?
Mary: Holy smokes!
Michael: YEEEES! WE DID IT! Woohooooooo!!!
Michael & Mary: U・S・A! U・S・A! …
AIに記事を執筆してもらう
Michael: OK, 話を戻そう。このテンプレート、見てわかるように1つだけじゃない。他にも役に立つテンプレートが盛り沢山なんだ。
次にタイトルだけを提案して、そこからAIに記事を書いてもらうとしよう。
新しいノートを用意して、タイトルを決めておく。そうだな……「ChatGPTによる人類の進化と懸念」とでもしておこうか。
この空白のページを開いた状態で、さっきみたいにコマンドパレットから「Generate & Insert」→「Generate Outline」と進む。
タイトルに沿った記事のアウトラインが生成されたね。
Mary: でもまだ「記事」にはなってないわ。マイク、ここからどうするの?
Michael: 簡単さ! もう一度さっきと同じ流れをたどって、今度は「Generate Outline」じゃなく「Write paragraph」を選択しよう!
しばらく待つと、アウトラインを元にした構成で記事が生成される。
Booooom! どうだい! スゴいだろ?
Mary: なんてこと……ああ、なんてことなの! 見出しまで自動で作成できちゃうなんて!
Michael: もちろんこのままじゃ「内容のある記事」とはとても呼べるもんじゃない。けれど文章を書く手助けには十分なるはずだ。
AIを上手く活用することも、これからの執筆には大事なスキルになってくるだろうね。
まだまだ広がるChatGPTの使い道
Mary: 今回も素敵な紹介、ありがとうマイク! それで……私たちの出番もあと少しなんだけど、他に何か伝えておきたいことはある?
Michael: ああ。Text Generatorプラグインにはまだまだ使える機能がたくさんある。今回とは逆に文章からタイトルを生成したり、メールの返信にだって使えるぞ!
あとはフロントマターに記述した内容をプロンプトに含めることだって可能だ。とにかく色々試してみて、自分に合った使い方を探してみてくれ!
Mary: みんなも困ったことがあったら、「0570-00-8139」まで電話してね! マイクが何でも答えてくれるわ!
Michael: 違うぞメアリー! そいつはJAFの「ロードサービス救援コール (全国共通、年中無休) 」の電話番号だ! まったく、おっちょこちょいの子猫ちゃんめ!
Mary: あらやだ私ったら……そういえばドラクエ4のこと、ChatGPTに訊いてみなくちゃ!
Michael: いのちだいじに!!