ZIKUUの論文検索ボットでやっているのと似た方法で、ローカルLLMを使ってarXiv論文を取得して概要を表示する方法を紹介します。
動作環境は、
- 13th Core i5/RTX 2000 Ada という構成のPC
- llama.cppサーバーで gpt-oss:20b-Q4_K_M.ggufを動かす
- Open WebUIで、llama.cppサーバーに接続
です。
Open WebUIでフォルダーを作り、そのフォルダーのシステムプロンプトを次のようにします。
ユーザーのメッセージに関係のありそうな論文をarXivから検索して、要約してください。
検索する論文は最大5つ。
厳守すべきルール:
- 論文タイトルごとにコードブロックに入れる
- コードブロックの中は、後述の出力フォーマットに準拠したyaml形式に
- SummaryとThought_Extractは要約文が日本語でない場合は日本語に翻訳し、内容に漏れのないように、複数行記述可能
- Source のURLは必ず入れる
- Tagは英語で
- Id は論文番号を使ってユニークなキーを生成する。例:arXiv-1111.22222
余計な文章を生成せず、以下、出力フォーマットで出力する。
- Title: "{論文タイトル}"
Id: {ユニークなIDを生成}
Year: {投稿年}
Authors: [著者のリスト]
Source: {論文のURL}
Tags: [タグリスト]
Summary:
- "{要約}"
Thought_Extract:
- "{研究成果}"
ZIKUU_Interpretation: ""
Quote: ""
作成したフォルダーの中で、プロンプトに質問を入力して送信します。
Attention is all you need
こんな回答が返ってきます。
- Title: "Attention Is All You Need"
Id: arXiv-1706.03762
Year: 2017
Authors: ["Ashish Vaswani", "Noam Shazeer", "Niki Parmar", "Jakob Uszkiewicz", "Llion Jones", "Aidan N. Gomez", "Lukasz Kaiser", "Illia Polosukhin"]
Source: https://arxiv.org/abs/1706.03762
Tags: ["transformer", "self-attention", "NLP", "deep-learning"]
Summary:
- "この論文は、従来のリカレントニューラルネットワークやCNNベースのシーケンスモデルを置き換え、完全に注意機構に基づくTransformerアーキテクチャを提案する。EncoderとDecoderの両方ともに全結合されたMulti‑Head Attentionと残差結合、LayerNormを用い、位置エンコーディングで位置情報を補足する。"
- "実験では、Google翻訳の英語↔フランス語タスクで既存モデルを上回し、パラメータ数はほぼ同等ながら計算効率が大幅向上した。"
Thought_Extract:
- "自己注意機構は長距離相関を効率的に捕捉し、並列計算を可能にしたため、機械翻訳分野に革命をもたらした。"
ZIKUU_Interpretation: ""
Quote: ""
トークン生成速度は71tok/secほどです。
GPUのVRAMは16GBもあれば十分です。
こういうデータをデータベース化しておくと、論文を探索するのがだいぶ楽になります。
ZIKUUの場合は、
- Discordボットがこれと同等の処理を行う
- 結果を論文ごとにentryとしてGiteaリポジトリにcommit/pushする
- 論文の本文を再度読み込んできて、commentaryという要約文に変換してGiteaリポジトリにcommit/pushする
- GiteaでGit Actionsを実行して、Nerve(イベントの交通整理役)のキューに原本確定イベントを投げる
- Nerveのイベントハンドラーが原本をベクトルデータ化してQdrantに保存する
- その後、別のイベントハンドラーがCPS (Context Pipeline Server)に原本を送信し、文脈束を抽出して保存する
- さらに、別のイベントハンドラーがFact Builderに文脈束を送信し、文脈が意味空間に投影される(Pivot Service)
というワークフローが動きます。
ベクターデータベース化されているので、一般的なRAGアプリケーションから参照できるようにはなっていますが、ZIKUUのAIと人は文脈束や意味空間の方を先に見ます。
そんな仕組みなので、普段は面白そうな論文のタイトルやキーワードをDiscordに入力するだけ。関心事が自動的に共同体の文脈として積み上がっていきます。
ZIKUUの内外で発生するデータは、上の5から7のステップ(ZIKUUコアサービス)を必ず通過します。
それが共同体の記憶になっていくわけです。
大きなGPUがなくても、研究や学習を裏で支えてくれます。
「生成AIを使ってarXiv論文を読む方法」への1件のフィードバック