ContextGem
用描述取代提示詞的 Python 文件抽取框架,1.0 版加入「決策模型」,是非題與分類題改用機率回答,又快又省
ContextGem 是挪威 Shcherbak AI 開發的開源 Python 框架,10 月 26 日以 1.0 版登上 Product Hunt,GitHub 約兩千顆星。它要解決的是「從合約、報告這類長文件裡可靠地抽資料」:平常要自己寫提示詞、設計驗證用的資料模型、把輸出對回原文段落、串多步驟流程,還要追蹤各模型用量。ContextGem 把這些做成宣告式的管線,官方口號是「Describe, don't prompt」,你只描述要抽什麼,提示詞由框架自動產生。
功能特色與適用場景:它有兩個核心概念。Aspect(面向)是抽出文件裡的某類段落,例如「付款條款」會回傳原文中講付款的段落;Concept(概念)則是推論出新的值,型別有字串、布林、數字、日期、評分、標籤與 JSON 物件。每個抽出的項目都能回溯到原文的段落或句子,也可以要求附上理由。官方範例是在一份顧問合約裡找出「異常內容」,結果抓到兩句和合約無關的句子,並附上來源句與判斷理由。
1.0 版最大的新功能是「決策模型」(decision models)。這類模型不生成文字,而是對封閉式問題(是或否、多選一標籤、量表等級)直接給出每個答案的機率,你自己設門檻。官方建議的分工是:需要推理的開放式問題交給 LLM,大量的是非題與分類題交給決策模型,速度快、成本低。同一份文件可以用模型群組,讓不同問題自動送到合適的模型,也能設定備援。LLM 端透過 LiteLLM 支援 OpenAI、Anthropic、Google、Azure OpenAI、xAI、Ollama、LM Studio 等;決策模型端支援 TypeSafe 的 Jev、OpenAI Decisions API、Microsoft Foundry 等。裝上 docling 擴充套件後,可以直接處理 PDF、DOCX、PPTX、XLSX 與 HTML,並保留頁碼。
要注意的是:1.0 有破壞性變更,部分類別與參數改名或移除,也不再支援 Python 3.10,從 0.x 升級要照遷移指南改。官方也直說小型本機模型可能跟不上詳細的抽取指令,要先用自己的文件抽樣測試。
台灣使用者怎麼用:適合法務科技、會計師事務所、銀行授信或採購部門的開發團隊,例如批次讀取供應商合約,抽出付款天數、終止條款、準據法,並標示原文出處方便法務覆核;大量「有沒有自動續約條款」這種是非題就交給決策模型降低成本。它是給工程師用的函式庫,沒有圖形介面;處理中文文件前,建議先比較不同模型在繁中合約上的表現。
TheAI學院 編輯建議
編輯實測後的真心話文件抽取這件事,難的從來不是讓 LLM 吐出答案,而是讓答案可驗證、可追溯、成本可控。ContextGem 1.0 加入決策模型這一步很務實:合約裡九成問題其實是「有沒有」「是哪一種」,不需要讓大模型寫一段話。對要做合約審閱、授信文件分析的台灣開發團隊,它是值得放進候選名單的開源方案,但記得先用繁中文件實測模型表現。
主要功能
- 宣告式定義 Aspect(抽原文段落)與 Concept(推論新值),提示詞由框架自動產生
- 支援字串、布林、數字、日期、評分、標籤與 JSON 物件等型別化、經驗證的輸出
- 每個抽出項目可回溯到原文段落或句子,並可附上判斷理由
- 1.0 新增決策模型,對是非、標籤、量表題回傳各答案機率並可自訂門檻
- 模型群組依問題類型分派給 LLM 或決策模型,並可設定備援模型
- 透過 LiteLLM 接 OpenAI、Anthropic、Google、Ollama 等雲端或本機 LLM
- 搭配 Docling 處理 PDF、DOCX、PPTX、XLSX、HTML 並保留頁碼
如何使用 ContextGem
- 在 Python 專案中執行 pip install -U contextgem(要處理 PDF、Word 等檔案再加裝 contextgem[docling])
- 用 Document 載入文件文字,或先以 Docling 轉換檔案
- 以 Aspect 描述要找的段落、以 Concept 描述要推論的值與型別,並視需要開啟出處與理由
- 建立 DocumentLLM(填入模型名稱與 API 金鑰),封閉式問題可另建 DocumentDecisionModel
- 呼叫 extract_all 取得結果,抽樣比對原文出處後再擴大到整批文件
適用場景
- 法務團隊批次抽取合約的付款條件、終止條款與準據法並標示出處
- 銀行或租賃公司從授信文件中判斷是否含特定擔保或違約條款
- 採購部門比對大量供應商合約,找出異常或缺漏條款
- 在 AI 代理流程中作為文件攝取工具,輸出型別化資料給下游系統
ContextGem 的優點與缺點
優點
- Apache 2.0 開源免費,不綁定特定模型供應商
- 出處回溯與理由說明內建,適合需要人工覆核的法務與稽核場景
- 大量封閉式問題改用決策模型,可明顯壓低 API 成本與延遲
缺點
- 1.0 有破壞性變更且不再支援 Python 3.10,舊專案升級要改程式
- 官方提醒小型本機模型可能無法遵循詳細抽取指令
- 純 Python 函式庫、沒有圖形介面,需要開發者導入
價格方案
Apache 2.0 開源、免費;呼叫雲端 LLM 或決策模型的 API 費用依你選用的供應商另計,也可接本機模型
ContextGem 常見問題
ContextGem 要錢嗎?
框架本身以 Apache 2.0 授權開源免費,用 pip install -U contextgem 或 uv add contextgem 安裝。實際花費來自你呼叫的 LLM 或決策模型 API,費用依供應商計算;也可以接 Ollama、LM Studio 等本機模型。
什麼是決策模型?跟 LLM 有什麼不同?
決策模型不寫文字,而是對封閉式問題(是或否、多選一標籤、量表等級)直接給出每個可能答案的機率,由你設定門檻。官方建議需要推理的開放問題用 LLM,大量是非題與分類題用決策模型,比較快也比較便宜;交給決策模型前,最好先拿一批文件和 LLM 結果比對。
可以直接丟 PDF 或 Word 檔嗎?
可以。安裝 contextgem[docling] 擴充後,能把 PDF、DOCX、PPTX、XLSX、HTML 轉成保留結構與頁碼的文件,再進行抽取。
從 0.x 版升級要注意什麼?
1.0 有部分類別與參數改名或移除、預設值也有調整,且不再支援 Python 3.10。官方提供遷移指南,也可以把文件索引 llms.txt 交給程式碼代理協助修改。
使用者評價
還沒有足夠評價,搶先分享你的使用心得!
寫下你的評價
ContextGem 的替代方案
查看相似的 AI 工具 →相關 AI 工具
猜你也想看的AI 資料探勘
更多挪威的 AI 工具
同樣來自挪威的 AI 工具,一起看看。