跳到正文
土土金API

文獻閱讀與綜述輔助

文獻閱讀輔助分三步:先把摘要向量化,檢索相似論文、整理閱讀清單;再讓模型逐篇讀你有權使用的全文,把研究問題、方法、資料和主要結果抽進表格,每一項都附上原文句子,由程式核對確實出自原文;最後把核對過的表格交給更強的模型做對比,列出一致、矛盾和空白。它幫你讀和整理,不替你寫論文,也不生成參考文獻,每一項都要研究者回到原文核對。按每月 5,000 篇摘要入庫、精讀 200 篇全文估算,用各模型最低價分組的即時價格計算,模型費用每月約 ¥23.88。

價格更新於 2026年11月13日 下午5:53

月成本估算

假設:每月新入庫 5,000 篇摘要,每篇約 400 tokens;精讀 200 篇全文,每篇約 20,000 tokens,全文切塊入庫,並逐篇抽取一次,輸出約 1,500 tokens;在閱讀清單上提問 1,000 次,每次帶約 4,000 tokens 的段落,回答約 500 tokens;做 30 次對比,每次輸入約 30,000 tokens 的對比表,輸出約 3,000 tokens。

¥23.88/ 月

  • 摘要向量化¥0.52
  • 全文切塊入庫¥1.04
  • 逐篇抽取¥8.25
  • 帶出處的問答¥9.75
  • 對比與提綱¥4.32
看用量假設

業務問題

寫綜述、開題、做系統性文獻回顧,要讀幾十到幾百篇論文,把每篇的方法、資料和結論整理進一張表,再比較哪些結論一致、哪些互相矛盾,光整理就要花很多時間。

直接問模型「這個領域有哪些研究」風險很大:模型可能把別的論文的結論安到這一篇上、看錯數字,甚至編出不存在的論文和 DOI。

更穩妥的用法是隻讓模型處理你提供的文獻:每個結論都附原文句子,程式核對引文,研究者逐項複核。學術誠信的邊界也要說清:模型幫你讀和整理,不代寫論文,不生成參考文獻;能不能用 AI 工具、需要怎樣宣告,以學校、期刊和導師的要求為準。

推薦模型組合

推薦模型按即時目錄自動選取,價格取各模型最低價分組,更新於 2026年11月13日 下午5:53。點模型名可檢視全部分組價格。

參考架構

  1. 1

    建閱讀清單

    從文獻資料庫匯出題錄(標題、摘要、DOI),按 DOI 去重後把摘要向量化,檢索和你的研究問題相近的論文、按主題聚類,由研究者決定精讀哪些。

  2. 2

    準備全文

    只處理你有權使用的全文,例如開放獲取論文、學校訂閱的資料庫裡合法下載的論文和作者提供的預印本;資料庫是否允許文本挖掘,以它的使用條款和圖書館的規定為準。PDF 轉成文字時保留章節標題和頁碼,掃描版先按文件解析方案轉成文字。

  3. 3

    逐篇抽取

    按固定欄位抽取:研究問題、方法、資料與樣本、主要結果(含數字)和侷限,每個欄位都要附上原文句子;論文沒寫的欄位填「未報告」,不允許推測。

  4. 4

    程式核對引文

    程式檢查每條原文句子是否逐字出現在全文裡,對不上的欄位標記為待人工核對;數字和單位一律以原文為準。

  5. 5

    帶出處的問答

    全文按段落切塊入庫,提問時先檢索相關段落,模型只依據這些段落回答,並標註論文編號和頁碼,資料裡沒有就說沒有,做法和企業知識庫方案相同。

  6. 6

    對比與提綱

    把核對過的表格交給對比模型,列出一致、矛盾和空白,每一句標註論文編號。綜述的觀點、結構和文字由你自己寫,參考文獻從你的文獻管理軟體匯出,不用模型生成的引用。

成本估算

假設:每月新入庫 5,000 篇摘要,每篇約 400 tokens;精讀 200 篇全文,每篇約 20,000 tokens,全文切塊入庫,並逐篇抽取一次,輸出約 1,500 tokens;在閱讀清單上提問 1,000 次,每次帶約 4,000 tokens 的段落,回答約 500 tokens;做 30 次對比,每次輸入約 30,000 tokens 的對比表,輸出約 3,000 tokens。

專案模型用量假設費用
摘要向量化text-embedding-3-large5,000 次 × 輸入 400 tokens¥0.52
全文切塊入庫text-embedding-3-large200 次 × 輸入 20,000 tokens¥1.04
逐篇抽取gemini-3.8-flash200 次 × 輸入 20,000 + 輸出 1,500 tokens¥8.25
帶出處的問答gemini-3.8-flash1,000 次 × 輸入 4,000 + 輸出 500 tokens¥9.75
對比與提綱Claude Sonnet 5.530 次 × 輸入 30,000 + 輸出 3,000 tokens¥4.32
合計(每月)¥23.88

按各模型最低價分組的即時價格計算,價格更新於 2026年11月13日 下午5:53。

只含模型呼叫費用,不含資料庫訂閱、PDF 轉換和向量資料庫的成本。去掉參考文獻列表再抽取,能省下不少輸入 tokens;掃描版 PDF 要先轉成文字,費用見文件解析方案。精讀的篇數翻倍,對應幾項的費用大致翻倍。

示例程式碼

模型按固定欄位抽取並給出原文句子,程式核對每條句子是否逐字出現在全文裡,只有全部核對通過的行才交給對比模型。參考文獻始終來自你自己的文獻管理軟體,不來自模型。

示例程式碼(Python,逐篇抽取、核對引文與對比)
import json
import os
import re

from openai import OpenAI

client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_API_KEY"], max_retries=3)
FIELDS = ["research_question", "method", "data", "main_result", "limitations"]
SYSTEM = (
    "You fill one row of a literature table from the paper below and nothing else. For each field give a "
    "short value and the exact sentence of the paper it comes from. If the paper does not report a field, "
    'use {"value": "not reported", "quote": ""}. Reply with JSON only: an object with the keys '
    + ", ".join(FIELDS) + ', each {"value": "", "quote": ""}.'
)


def squash(s):
    return re.sub(r"\s+", " ", s or "").strip()


def extract(paper_id, text):
    resp = client.chat.completions.create(
        model="gemini-3.8-flash",
        messages=[{"role": "system", "content": SYSTEM}, {"role": "user", "content": text}],
        temperature=0,
    )
    raw = resp.choices[0].message.content
    row = json.loads(raw[raw.find("{"): raw.rfind("}") + 1])
    full = squash(text)
    for f in FIELDS:
        cell = row.get(f) if isinstance(row.get(f), dict) else {"value": "", "quote": ""}
        if cell.get("value") == "not reported":
            cell["check"] = "not_reported"
        else:
            # a value counts only if its sentence really is in the paper; everything else goes to a person
            quote = squash(cell.get("quote"))
            cell["check"] = "quote_found" if quote and quote in full else "by_hand"
        row[f] = cell
    return {"paper": paper_id, "model": resp.model, **{f: row[f] for f in FIELDS}}


def compare(rows, question):
    """Only rows whose quotes were all found are compared: the table is the source, not the model's memory."""
    table = [{"paper": r["paper"], **{f: r[f]["value"] for f in FIELDS}}
             for r in rows if all(r[f]["check"] != "by_hand" for f in FIELDS)]
    resp = client.chat.completions.create(
        model="claude-sonnet-5-5",
        messages=[
            {"role": "system", "content": "Compare the papers in the table and nothing else. Put the paper id in brackets, "
             "like [smith2024], after every statement. List agreements, contradictions and gaps. "
             "Do not add papers, facts or references that are not in the table."},
            {"role": "user", "content": "Question: " + question + "\n\nTable:\n" + json.dumps(table, ensure_ascii=False)},
        ],
    )
    return resp.choices[0].message.content


rows = []
for paper_id in ["smith2024", "li2025"]:  # full texts you are entitled to use, reference lists removed
    with open(f"papers/{paper_id}.txt", encoding="utf-8") as f:
        rows.append(extract(paper_id, f.read()))
print(json.dumps(rows, ensure_ascii=False, indent=2))  # a researcher checks every row against the paper
print(compare(rows, "Does remote tutoring improve test scores?"))
# Reading list: embed abstracts with text-embedding-3-large and search them as in the knowledge-base solution.

用一把 Key 試試這個方案

註冊後在控制台建立 API Key,把上面程式碼裡的 base_url 和 Key 換成你的就能執行。企業採購、開發票可以加客服微信 JsnonoChat。

土土金客服微信二維碼
微信JsnonoChat

掃碼或搜尋微信號新增客服

常見問題

可以讓模型直接寫文獻綜述嗎?

這個方案不做這件事。模型幫你讀和整理:抽取、對比、查出處;綜述的觀點、結構和文字由你自己完成。能不能用 AI 工具、需要怎樣宣告,以學校、期刊和導師的要求為準。

模型會編造參考文獻嗎?

會。憑記憶列文獻時,模型可能編出不存在的論文、作者或 DOI,也可能把一篇論文的結論安到另一篇上。所以這裡只讓模型處理你提供的全文,每條資訊都附原文句子並由程式核對,參考文獻只從你的文獻管理軟體匯出。

抽取的結果準確嗎?

沒有通用的準確率,取決於論文的寫法和欄位的定義。常見的錯誤有:把論文引用的別人的結果當成本文的結果,看錯單位和樣本量,表格裡的數字錯行。原文句子核對能擋住一部分,其餘的靠研究者逐項複核。

哪些論文可以拿來處理?

你有權使用的全文,例如開放獲取論文、學校訂閱的資料庫裡合法下載的論文、作者提供的預印本。資料庫條款是否允許文本挖掘、是否允許上傳到第三方服務,以資料庫和學校圖書館的規定為準,需要你自己確認,我們不對此作承諾。

每月大概要花多少錢?

按每月 5,000 篇摘要入庫、精讀 200 篇全文、提問 1,000 次、做 30 次對比估算,用最低價分組計算約 ¥23.88。提問次數、全文的長度和精讀的篇數對費用影響最大。

掃描版 PDF 和圖表怎麼辦?

掃描件先按文件解析方案轉成文字,再做抽取。圖表裡的數字最容易識別錯,一律以原圖為準人工核對。