YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

history-phi4-lora-sft-v2

本模型 TAIDE-EDU/history-gemma3-taide-sft-v2 專為 高中小論文批改 設計。
輸入論文本體(含 --- Page N --- 分頁標記),模型會輸出 單一 JSON 物件,包含:

  • annotation:逐頁具體評論(優點、缺點、修正建議)
  • overall:綜合總評(附整體等第)

使用方式(vllm)

import transformers

# 論文本體(需自行放入)
paper_text = """
--- Page 1 ---
這裡是論文的第一頁內容...
--- Page 2 ---
這裡是論文的第二頁內容...
"""

from vllm import LLM, SamplingParams
import json

model_name = "TAIDE-EDU/history-gemma3-taide-sft-v2"

template_example = {
    "annotation": [
        {
            "page": "<該評論所對應的頁碼(整數;無法定位填 0)>",
            "text": "<被評論的原文或段落標題>",
            "content": (
                "<詳細評論,務必包含:優點、缺點、具體修正建議;"
                "若為五個核心部分之一,請在末行加入「等第:優等/中等/待加強」。"
                "一般段落或細節評論則不要加入等第。>"
            )
        }
    ],
    "overall": "<以繁體中文撰寫的一段綜合總評,文末以(優等/中等/待加強)標註整體等第>"
}

schema_types = {
    "type": "object",
    "additionalProperties": False,
    "required": ["annotation", "overall"],
    "properties": {
        "annotation": {
            "type": "array",
            "items": {
                "type": "object",
                "additionalProperties": False,
                "required": ["page", "text", "content"],
                "properties": {
                    "page": {"type": "integer", "minimum": 0},
                    "text": {"type": "string"},
                    "content": {"type": "string"}
                }
            }
        },
        "overall": {"type": "string"}
    }
}

llm = LLM(model=model_name)

sampling_params = SamplingParams(
    temperature=0.2,
    top_p=0.2,
    max_tokens=10240,
    repetition_penalty=1.3
)


conversation = [
    {
        "role": "system",
        "content": (
            "你是一位使用繁體中文的頂尖學者,正以『極度嚴苛』的標準審查一篇小論文。你的任務是找出所有潛在的弱點,無論大小,從核心論證的瑕疵到最細微的用詞不當,都不能放過。你的評論風格應直接、精準,但目標是幫助作者提升至最高水平。"
            "只根據使用者提供的論文內容輸出,不得臆測或補寫原文不存在的資訊。"
            "回覆必須且只允許為『一個 JSON 物件』,不得包含任何多餘說明或 Markdown。"
            "本任務產出兩個鍵:annotation(批改清單)與 overall(綜合總評)。"
            "annotation 陣列中 page 必須為整數頁碼,應依據文中的 '--- Page N ---' 標記填入;無法定位時填 0。"
            "【關於 annotation.content 的要求】必須提供『具體可操作』的評語:包含優點、缺點,以及明確的修正建議,"
            " - 優點:可簡要提及,但絕非評論重點。"
            " - 缺點:除了明顯的錯誤(如錯字、格式),更必須深入挖掘「邏輯上的矛盾或跳躍、論證強度不足、證據詮釋過於表面、分析深度不夠、前提假設未受檢驗、語意模糊、用詞不夠學術或精準、段落間缺乏順暢銜接」等問題。"
            " - 修正建議:必須極度具體。例如,不要只說「建議補充更多文獻」,而是要指出「建議針對 OOO 論點,補充說明 XXX 觀點的文獻,以強化對比」。不要只說「語句不通順」,而是要「直接提供修改後的句子範例」。"
            "若為五個核心部分(題目、前言、文獻探討、研究方法、參考文獻)之一,請在開頭加入「等第:優等/中等/待加強」,其他一般評論不須給等第。"
            "在最後【綜合總評】中,各部份的重視程度大致可參考以下比例:題目10%, 前言30%, 文獻探討40%, 研究方法10%, 參考文獻10%。"
        )
    },
    {
        "role": "user",
        "content": (
            "【任務】根據下列『論文本體』,產出兩個欄位:annotation、overall。\n"
            "【輸出模板(非約束示例)】請仿照下列鍵名與語義,但不要輸出尖括號與說明文字:\n"
            f"{template_example}\n"
            "【型別約束(必須符合)】你的輸出在型別上必須符合以下 JSON Schema:\n"
            f"{schema_types}\n"
            "【注意事項】\n"
            "1)批改時請以『極度嚴苛』的標準審查,清楚指出錯誤與不足,並說明原因與改進方式。同時肯定論文中表現優異的部分,給予具體的鼓勵。語氣應兼具批判性與建設性,避免模糊不清或情緒化的評價。"
            "2) 僅輸出一個 JSON 物件;不得有額外說明或 Markdown。"
            "3) 必用繁體中文。"
            "4) 請使用文中的 '--- Page N ---' 分頁標記來判斷 annotation.page 的頁碼;若無法定位,填 0。"
            "5) 若資訊不足,對應欄位填空字串 \"\" 或空陣列 [],不得臆測補齊。\n"
            "【論文本體】\n"
            f"{paper_text}"
        )
    }
]

outputs = llm.chat(conversation, sampling_params=sampling_params)
result_text = outputs[0].outputs[0].text.strip()
print(f"=== Model output ===\n{result_text}\n")

輸出範例

{
  "annotation": [
    {
      "page": 1,
      "text": "壹、前言",
      "content": "前言:優等\n研究動機具有個人經驗與現實觀察的結合,真實且具說服力。"
    },
    {
      "page": 2,
      "text": "某段落",
      "content": "某段落評價內容。"
    }
  ],
  "overall": "整體而言,本文在研究動機的說明上尚可,但文獻探討不足,建議補充來源以增加完整性。整體等第判定為「中等」。"
}
Downloads last month
90
Safetensors
Model size
12B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support