Tswoen/Paper-Agent
Paper-Agent 是一个面向科研人员和学生的智能论文检索与调研工具。项目基于多智能体协作架构(LangGraph),通过自然语言处理(NLP)、自动化搜索,帮助用户高效查找学术论文、分析文献内容,并进行论文调研。Paper-Agent 支持多平台集成、关键词搜索、自动分析、论文调研,提升了学术研究的效率。适用于论文写作、学术调研、科研项目管理等多种场景,是学术调研的理想助手。
Paper‑Agent – AI 驅動的研究助理
它能做什麼
- 你輸入一個研究主題,系統會自動搜尋論文、閱讀論文、分析發現,並生成一份可逐步追隨的完整文獻回顧。
- 整個流程由一組專業代理(搜尋、閱讀、分析、大綱、撰寫)構成,這些代理與 OpenAI 或 Anthropic 等大型語言模型(LLM)提供者通訊。
- 結果、進度和中間成果透過基於 Web 的工作台即時顯示,透過伺服器傳送事件(SSE)更新,並將所有內容儲存在本地 SQLite + 檔案系統中,以便你可以暫停並稍後繼續。
關鍵技術元件
| 層級 | 技術 | 作用 |
|---|---|---|
| 執行環境 | Python 3.12+, uv 包管理器 |
執行後端服務 |
| API | FastAPI (Uvicorn) | 暴露 REST 端點和 SSE 流 |
| 工作流引擎 | LangGraph (typed-dict 共享狀態) | 協調多代理流水線 |
| 代理 | 自訂 Python 代理(Search, Read, Analyse, WritingOutline, Writing) | 每個代理負責研究流程中的一個階段 |
| LLM 集成 | OpenAI 兼容和 Anthropic 兼容提供者 | 產生提示、提取資訊、撰寫文字 |
| 論文來源 | arXiv、OpenAlex、Semantic Scholar 連接器 | 搜尋元資料和 PDF |
| PDF 處理 | pypdf → Markdown → 文字分塊 |
將 PDF 轉換為可搜尋文字 |
| 向量儲存 | ChromaDB | 儲存分塊嵌入以實現快速相似性搜尋 |
| 持久化 | SQLite + JSON/Markdown 檔案 | 保存會話、中間結果和最終草稿 |
| 前端 | Vue 3 + TypeScript + Vite | 互動式 UI,顯示進度、模型設定和聊天式會話檢視 |
| 套件管理 | uv (Python) & npm (前端) |
一鍵安裝所有相依性 |
如何使用
- 安裝 – 執行
uv sync(Python 相依性)和npm run front:install(前端相依性)。 - 設定 – 建立
config/model.json(或使用 Web UI),設定你的 LLM 提供者 URL、API 金鑰和每個代理的模型「層級」。 - 啟動 – 執行
uv run python main.py啟動 FastAPI 伺服器(API 文件位於http://127.0.0.1:8000/docs)。 - 執行 UI – 執行
npm run front:dev(或front:dev:network用於區域網路存取)在http://127.0.0.1:5173/開啟 Vue 應用。 - 建立會話 – 輸入研究主題,觀察 SSE 驅動的進度條,系統將搜尋三個來源、閱讀摘要、下載 PDF、分塊處理、分析子主題、建立大綱並撰寫每個部分。
- 儲存並恢復 – 所有狀態均被持久化;你可以關閉瀏覽器,稍後繼續之前的工作。
為何重要
- 端到端自動化:取代手動搜尋、閱讀、記筆記、列大綱和撰寫草稿的循環。
- 成本意識:每個階段可使用不同模型層級,UI 顯示每一步的 token 使用量。
- 透明性:即時 SSE 更新讓你清楚看到系統正在做什麼,必要時可介入。
- 可擴展性:基於 LangGraph 建構,因此可輕鬆新增代理或自訂提示,無需重寫整個系統。
如何參與
- 歡迎提交問題和拉取請求。測試位於
test/目錄,可透過uv run python -m unittest discover -s test -v執行。 - 前端變更在合併前需通過
npm run front:build。 - 專案為開源,託管於倉儲 https://github.com/Tswoen/Paper-Agent。
Paper‑Agent 希望透過讓 LLM 承擔繁重工作,同時保持整個過程可見且可控,使文獻回顧更快速、更系統化。
相關
- 專案
- 專案
- 專案
- 專案
- 專案