【Dify】論文の要約のためのworkflow — 全体と段落の2パターン

本日、X上でChoimiraiのSangminさんからDify上でのJinaAIを用いてのPDFの読み込みの方法をシェアされていたので、私が使いやすいようにやってみた。

このブログのテーマ

1, PDF論文を『全体』で要約する場合と『パラグラフ毎』で要約する場合の2つの場合を作成した。

これは論文を読む際に、全体の意味もわかっておくのはもちろんだが、最近の生物系の論文ではデータ量が多すぎて、一論文に一つの新しい発見というわけではないからである。自分で読む際も『パラグラフ毎』の要約があった方が読みやすいと感じている。

そして、

2, このJinaAIを試している際の課題が見つかったのでその報告

使用する論文

使用する論文は時々このブログでも使用している2022年のNatureからの論文

この論文には

Human–mouse gonadal atlas, TFs modulating germ cell differentiation, Somatic cells during sex determination…とパラグラフが存在している。

しかし、ChatGPTに各パラグラフごとの要約をお願いしてもこのように返ってきていた。

おそらくプロンプトを工夫したらちゃんとした結果が返ってくるのではあるのだろうが、どうしたらいいのかわからなかった。結局全体の要約ではないか、、と

Difyの良さ — うまくいかない場合にTracingで経過が見れる

Difyは自分である程度、おかしいところを見ることができるので、修正がしやすい。

今回の場合、

JinaAI経由で引っ張ってきた論文のtextがどのようになっているのかを確認し、該当のParagraphがどのように構成されるのかを自分でチェックすればいい。

tracingでこの赤矢印のところがparagraphのタイトルとして表示されることが理解できれば、あとは簡単。

論文を『全体』もしくは『paragraph』で要約するようにする

Startでは論文のPDFが見れるURLとsummarizeする方法(全体要約かparagraph要約か)を指定する。

その次にHTTP RequestでJinaAIを用いて論文の内容を引っ張ってくる。

ここまではデータ取得であり、このあとに要約の仕方の分岐を置く(Question Classifierで)

全体要約の場合

このようなBlockを作成し、要約する文字数もこちらで設定できるので、便利!

確かに全体の要約がなされているのが分かります。

Paragraph要約の場合

今回に場合、summarize it between “\n\n##” and “\n\n”がキーワードとなります。

こうすれば、論文の段落ごとの要約ができます。

注意点

今回の論文を実際にJinaAIのHTTPでどのように表現されているのかをブラウザのURLに入れてみるとこのような結果が返ってきました。

しかし、一方で、他の雑誌だとこのような結果が返ってくる場合もあります。

現状、全てのWeb上のPDFに対して対応できるわけではなさそうというのが分かりました。

さらに、下のような結果をHTTP requestで返された場合、LLMで適当な返答が返されるので、注意が必要です。

一般公開の際には分岐を作って『使用不可な論文』とかの注意喚起は必要だと思われます。

まとめ

本日新たに知った、JinaAIを用いた方法で、論文を要約するためのworkflowを作成しました。

一部注意するところがありますが、活用できそうで期待です。

次の目標はアウトプットをNotionに繋げられたり、PC内のPDFを同様のworkflowに乗せれるようにすることです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA