はじめに
nikkieです。
昨日4/27(木)にオンライン開催されたLLM活用事例のLT会のレポートです。
本当に刺激的で、めちゃめちゃテンション上がりました!(神回!)
目次
勉強会の概要
ChatGPT/OpenAI API/LLM活用事例~NewsPicksと朝日新聞の合同勉強会を公開 - connpass
NewsPicksと朝日新聞というニュースメディアのエンジニア合同勉強会を、今回は一般公開いたします。
今回のテーマは、急速に活用が進むChatGPTやOpenAI API、またそのコア技術となる大規模言語モデル等について、ニュースメディアの業務にどのように使われているか(使おうとしているか)を5分のLT形式で発表していきます。
10分のLTが2本、事例LTが8本、計10本!
次々と事例が登場し、一瞬だったと感じる勉強会でした。
このレポートは網羅するよりも、自分にとって興味深かった点を取り上げて、偏りまくりで綴っていきます。
アーカイブ公開されてます!(みんなぜひ見て)
(2023/05/03 追記)各社参加レポート
LLM-Write
LLMで記事の自動執筆CLIを作ってみた話
工夫を凝らしたとおっしゃっていたプロンプト1。
https://github.com/otakumesi/llm-write/blob/v0.1.5/llmwrite/prompts.py
プロンプト自体も作り込んでいる(マークダウンみたい!)だけでなく、動的に構成するなど、英語プロンプトの事例として非常に参考になりそうです。
ちょっとお試しはpip install
からできちゃいます!
#UBTech これ1starなの、バグでは?めっちゃよさそうhttps://t.co/FHkwRue9Mh
— nikkie にっきー (@ftnext) 2023年4月27日
PyPIからも入れられるみたいで触ってみたいです
プロンプト事例盛りだくさん!
固有表現抽出(30:28)
JSON形式を指定して固有表現抽出をさせるというのが、過去させようとしてコードが返ってきた身からするとうまいな〜と思いました。
試してみたい!
以下の記事について、スポーツに関連する記事かどうか分類した上で、タイトルまたは本文に含まれる企業名、部門名、サービス名、大学や省庁、行政法人、委員会などの組織名をJSON形式で出力してください。 スポーツに関連する記事の場合はtrue、そうでない場合はfalseを出力してください。 企業名はcompany、部門名はdepartment、サービス名はservice、大学や省庁、行政法人、委員会などの組織名はorganizationにそれぞれ出力してください。 企業名、部門名、サービス名、組織名が含まれていない場合は空のリストを出力してください。 【出力例】 { sports: false, company: ["企業名A","企業名B","企業名C"], department: [], service: ["サービス名A"], organization: ["組織名A", "組織名B"] } 【タイトル】 {記事タイトル} 【本文】 {記事本文} 【出力】
(写プロンプトして気づいたのですが、キーはダブルクォートで囲んでおらず、JSONの文字列リテラルになってないのですね。ただそれでもJSONで返すChatGPTすごい)
要約(11:16)
ChatGPTプロンプトテンプレートの部分
まず、以下のニュース記事を読んでください。 【記事ここから】 {article_body} 【記事ここまで】 上記の記事の内容を200字程度で簡潔に要約して紹介するコメントを書いてください。
ChatGPT APIに"かゆいところに手が届く"UIをStreamlitでかぶせるの、うまいな〜と思いました。
最新動向要約(43:52)
Q) 以下はこの1週間の間に公開された「トランプ」の関連記事です。以下の全ての文章を一段落に要約し、必ず下記のフォーマットに従い出力してください。出力する要約文は必ず100文字に収まるようにしてください。 フォーマット:【ここに一番の中心人物を置く】が【ここに一番の中心人物が何をやったかを書く】したため、【ここに一番の中心人物に影響されたものを書く】が【ここに一番の中心人物に影響さたものがどうなったかを書く】とした。【ここに結論を一言でまとめて「結論:」似続けて結論を書く】。
関連記事のタイトルを箇条書きで渡しています。
「影響さたもの」「似続けて」はスライドママです。
#UBTech フォーマットの試行錯誤
— nikkie にっきー (@ftnext) 2023年4月27日
【ここに一番の中心人物を書く】に中心人物を置いてくれるChatGPT、すごすぎません!?
積ん読:Prompt Engineering Guide
今回の勉強会で共有されたプロンプトを理解するのによさそうだな〜と積んで崩し始めています。
サクサク読みやすいですね
embeddings比較検証
OpenAI EmbeddingsとSentence BERTの文書ベクトルを比較する
NewsPicksの北内さんの発表(1:06:06〜)
embeddings(埋め込み)はOpenAI API以外でも生成できると認識しています。
各種embeddingsを比較するのは気になっていたポイントでした。
- livedoorニュースデータセットで検証
- 分類アルゴリズムも2種類(教師あり学習と、クラス名とのコサイン類似度を使うZero-shot)
関連して思い出したのはこちら
終わりに
UB Tech Vol.8、言ってみればLLM LTのレポートでした。
LLM(ChatGPT)の活用事例、特にいろんなプロンプトが見られ、「こんなことできるのか〜」とインスピレーションびしびし感じました。
アーカイブを見返せますし、wannaの広木さん2のコメントがたくさんあり、まだまだ知見をインプットできそうです!
#UBTech クロージングトークでも言及されてますが、広木さんのコメント、めっちゃ学びになります❤️ https://t.co/33TDn1GAGV
— nikkie にっきー (@ftnext) 2023年4月27日
発表者、運営、参加者の皆さま、ありがとうございました!
-
(2023/05/01 追加)
ReActはプロンプトエンジニアリングガイドでも見かけた覚え👀↩言及されててありがたや、プロンプト部分はすごく力を入れてて、ReAct Proptingをベースに再構成したものとかがあります。
— 🆕 (@otakumesi) 2023年4月28日
LangChainも論文に近い形のReAct Promptingを実装しているので、まず使ってみたい方はLangChainで試すのもいいかもしれません。 - いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita↩