nikkie-ftnextの日記

イベントレポートや読書メモを発信

ねえ、ChatGPT? nikkieが4月に書いたブログのタイトル一覧があるんだけど、要約してどんな1ヶ月だったか教えてくれるかな?

$ omae-douyo https://nikkie-ftnext.hatenablog.com/archive/2023/4

この人物は主にプログラミングに関するブログ記事を書いているようです。
最近はPythonのcsvモジュールに取り組んでおり、空行やフィールド数の違うCSVファイルの読み込み方や、CSVファイルからデータクラスのインスタンスを作る方法を模索しているようです。
また、ChatGPTという自然言語処理のモデルにも取り組んでいるようで、日本語テキストをトークンに変換する方法などについても記事を書いています。
その他にも、読書ログや映画鑑賞の記事もあるようで、幅広い趣味や知識を持つ人物のようです。
最近は株式会社はてなに入社したようです。

RLHF(感想ゾーン)

※RLHFはなんちゃってです1。この言葉かっこいいじゃないですか(テヘペロ😉)

幅広い趣味を持つ人物」ですって!(照れ照れ)

最近は株式会社はてなに入社したようです。

入社してません!
エイプリルフールです!!

4月のじぶんリリースノートを後日予定していますので、その際にもっと掘り下げていきます

目次

そもそもことのはじまりは ーーUB Tech!

先日のUB Tech Vol.82で知った事例がきっかけです。

このLTでは、ニュース記事のタイトルの羅列のみからニュースの流れを理解できるまとめ文を作成する方法が語られました。

40:20過ぎからアーカイブで確認できます。

💡ブログのタイトル一覧の要約で近況つかめるんじゃないかな

ニュースのタイトル一覧をブログのタイトル一覧に置き換えてもワークするんじゃないかと手を動かしてみました。

要するに、ChatGPTに4月のブログタイトルの一覧の要約をお願いしているだけです。

こうして爆誕したのがomae-douyo(お前、どうよ)コマンド。
冒頭では4月のブログタイトル一覧を要約してもらいました。

recent-state-summarizer(略してRSS!)

近況(recent state)要約(summarize)から命名しています。

pip install recent-state-summarizerで簡単にインストールできる(はず)!

インストールするとomae-douyoコマンドが使えるようになります。
omae-douyoコマンドを動かすには、環境変数OPENAI_API_KEYにOpenAIのAPIのキー(secret key)を指定する必要があります3

omae-douyoコマンドは裏で以下の2つを実行しています。

  1. 与えたURL(はてなブログアーカイブページを想定)からブログのタイトル一覧を取得する
  2. タイトル一覧をOpenAIのAPIに送ってLLMに要約してもらう

ソースコードはこちらにあります

公開するまでの感想

メモ的に残しておきます。
後日、1日1エントリの中で取り上げるかもしれません

  • プロンプトエンジニアリング、初めてで超手探り
    • 日本語より英語がいいらしいけど、英語だと日本語で返らないことがあった
      • GPT-4にすればいいのかもしれない(申請する?)
    • systemプロンプトを混ぜる必要があるのか、どう判断すればいいのかわからない(いまは混ぜていない)
  • pyproject.tomlデビュー
  • 小さい関数を集めて構成
    • 自己文書化ってこういうこと?
    • パッケージを作り始める前、書き捨てスクリプトで検証済みだったので設計にこだわった
    • それぞれの関数は、モジュールから外に公開するかどうかを考慮した
    • 関数1つ1つが小さいのと書き捨てスクリプトで検証済みなのでテストコードはなし。今後書かなきゃだ

終わりに

「LLMにブログのタイトル一覧を要約してもらい近況をつかめるのでは」というアイデアをパッケージにして公開しました!
じぶんリリースノート書かれている方など、直近どんな1ヶ月だったか思い出したいときに、はてなブログアーカイブページのリンク4を渡して使ってみていただけると、私は泣いて喜びます。
「この方、直近でどんな記事書いているんだろう」と思ったときは、2023年のアーカイブページ5を渡すとなにか分かるかもしれません。

使ってみてのご感想はちょっとしたことでも@ftnextまでいただけると嬉しいです(伸びしろに限らず、よかったこと教えていただけると嬉しいなあ)

P.S. どうして「お前、どうよ」って名前なの?

Python界隈では自己紹介に「お前、誰よ」というエイリアスが張られています。
これは2011年のPyCon mini JP(PyCon JPが始まる前の最初のイベント)まで遡ります6

私はスタッフさんから無理やりアイスブレークをするのが非常に難しいと認識した。もし、スタッフさんがよく頑張ってくれたのに、みんなさんがあまり楽しめずに終わってしまったら、非常に残念なことになるなと思った。

一番受けられていたのが、僕の自己紹介のタイトルの 「お前、誰よ」という言葉。それから、ほぼ全員の発表者が自己紹介のタイトルを「お前、誰よ」に書き直し、より楽しい環境を作ってくれました。

イアンさんが始めた「お前、誰よ」、これは12年以上経った今でもPythonコミュニティの中で連綿と受け継がれていると思います。

この慣習を踏まえて、近況知りたい=「最近どうですか?」→「お前、どうよ(omae-douyo)」と爆誕させました。

よっしゃ〜、今後外部で登壇するときには「お前、誰よ」だけでなく「お前、どうよ」(omae-douyo)も使っていくぞ〜!