【Dify】論文読解のためのworkflow — JinaReaderで読み込んで要約させる

本日、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に各パラグラフごとの要約をお願いしてもこのように返ってきていた。

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

全体像

このようにHTTP RequestでJinaReaderを使ってflowの中にimportする

HTTP request

こうするだけで、JinaReader経由でURL上のPDFを読み込むことができます。

Difyの良さ — Tracingで経過が見れるため、debugがしやすい

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

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

tracingでこの赤矢印のところがparagraphのタイトルとして表示されることが理解できれば、ここを起点に『全体で要約させるパターン』と『Paragraph毎に要約させるパターンを作ることができる』

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

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

要約の仕方の分岐を置くことで選択が可能になる(Question Classifierで)

全体要約の場合

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

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

Paragraph要約の場合

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

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

注意点

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

そのため、上記のようなちゃんとした応答が可能でした。

しかし、一方で、他の雑誌(今のところCell系が使えない)だとこのような結果が返ってくる場合もあります。

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

まとめ

JinaAIを用いた方法で、論文を要約するためのworkflowを作成しました。

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

参考になれば幸いです。

Difyの記事一覧に戻る場合はこちら

【Dify】Dify操作記事まとめ(随時更新)

Leave a Reply

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

CAPTCHA