
ContextGem
ContextGem 是一個免費的開源 LLM 框架,它通過強大的內置抽象和自動化功能,以最少的代碼簡化了從文檔中提取結構化數據和見解的過程。
https://github.com/shcherbak-ai/contextgem?ref=aipure&utm_source=aipure

產品資訊
更新時間:2025年05月09日
什麼是 ContextGem
ContextGem 是一個創新的開源框架,旨在簡化使用大型語言模型 (LLM) 從文檔中提取結構化數據的過程。它由 Shcherbak AI AS 創建,通過提供一個直觀、靈活的框架來顯著降低開發複雜性,從而解決了文檔分析中需要大量樣板代碼的常見挑戰。該框架通過 LiteLLM 集成支持基於雲端和本地的 LLM,包括 OpenAI、Anthropic、Google 和 Azure OpenAI 等提供商,同時為各種文件格式提供內置的轉換器,尤其擅長 DOCX 轉換。
ContextGem 的主要功能
ContextGem 是一個開源 LLM 框架,它簡化了從文件中提取結構化數據和見解的過程,只需最少的程式碼。它提供了強大的內建抽象,包括自動動態提示、數據建模、參考映射和多語言支持。該框架擅長專注的文件分析,利用 LLM 的長上下文窗口來提高提取準確性,同時通過 LiteLLM 集成支持基於雲端和本地的 LLM。
自動動態提示和數據建模: 通過自動提示生成和數據驗證,消除樣板程式碼,顯著降低開發開銷
精確的參考映射: 提供段落和句子級別的精細參考映射,並內建提取推理的理由
多 LLM 管道支持: 可以使用多個 LLM 創建複雜的提取工作流程,這些 LLM 具有特定角色的任務和統一的可序列化結果存儲
文件格式轉換: 內建各種文件格式(包括 DOCX)的轉換器,保留文件結構和豐富的元數據,以改進 LLM 分析
ContextGem 的使用案例
法律文件分析: 從合約和法律文件中提取關鍵條款、術語和異常情況,並進行精確的參考追蹤
財務文件處理: 分析財務報告和文件,提取結構化數據、見解和關鍵指標,並提供理由
研究文件分析: 從學術論文和研究文件中提取概念、主題和見解,並進行分層的方面分析
多語言文件處理: 處理多種語言的文件,無需特定的提示,從而實現全球文件分析工作流程
優點
複雜文件分析任務所需的程式碼最少
全面的內建抽象,縮短開發時間
靈活支持雲端和本地 LLM
缺點
專注於單一文件分析,而不是跨文件查詢
目前不支持語料庫範圍的檢索功能
如何使用 ContextGem
安裝 ContextGem: 使用 pip 安裝包:pip install -U contextgem
導入所需的模塊: 導入必要的類:from contextgem import Document, DocumentLLM, StringConcept
創建一個 Document 對象: 使用 Document(raw_text='your text here') 創建一個包含文本內容的 Document 對象
定義要提取的概念: 使用 doc.concepts = [StringConcept(name='concept_name', description='concept_description', add_references=True, reference_depth='sentences', add_justifications=True, justification_depth='brief')] 將概念附加到文檔
配置 LLM: 使用您喜歡的模型和 API 密鑰設置 DocumentLLM:llm = DocumentLLM(model='openai/gpt-4o-mini', api_key='your_api_key')
提取信息: 使用 LLM 從文檔中提取信息:doc = llm.extract_all(doc) 或使用異步版本 await llm.extract_all_async(doc)
訪問結果: 通過 doc.concepts[0].extracted_items 或 doc.get_concept_by_name('concept_name').extracted_items 訪問提取的信息
可選:轉換 DOCX 文件: 對於 DOCX 文件,使用 DocxConverter:converter = DocxConverter(); document = converter.convert('path/to/document.docx')
可選:保存結果: 使用內置的序列化方法來保存已處理的文檔,並避免重複 LLM 調用
ContextGem 常見問題
ContextGem 是一個免費的開源 LLM 框架,它能以最少的程式碼,大幅簡化從文件中提取結構化資料和洞見的過程。它提供了靈活、直觀的抽象概念,簡化了文件分析,並消除了對大量樣板程式碼的需求。