What is ContextGem?
使用大型語言模型 (LLM) 從文件中提取結構化資料,往往需要處理大量的樣板程式碼。您可能會發現自己花費過多的時間編寫自訂提示、從頭定義資料模型和驗證邏輯,以及實作複雜的鏈結或上下文管理,只為了準確提取特定資訊。這種重複性的設定會拖慢開發速度,並將焦點從核心提取任務上轉移開來。
ContextGem 提供了一條不同的途徑。它是一個專為從個別文件中提取結構化資料和洞見而設計的 LLM 框架,在易用性、可自訂性和準確性之間取得了精心的平衡。ContextGem 提供了強大且直觀的抽象概念,可以處理建構提取工作流程中最耗時的部分,讓您以更少的程式碼和精力獲得精確的結果。
主要特色:簡化您的提取流程
ContextGem 透過在幕後處理複雜的任務來簡化開發:
💎 自動化動態提示生成: 根據您的特定提取需求自動建構量身定制的、全面的提示,消除手動提示工程和維護。
🔧 生成資料模型 & 驗證器: 從您的定義中自動建立必要的 Pydantic 資料模型和驗證邏輯,讓您無需編寫重複的樣板程式碼。
🗺️ 精確地映射提取內容: 自動將提取的資料映射回其在來源文件中的精確位置(精確到段落或句子層級),確保可驗證的準確性和可追溯性。
🔍 提供提取理由: 自動包含支持每個提取資料片段的文本中的推理或證據,從而提高結果的透明度和信任度。
智能分段文件: 利用最先進的神經分段 (SaT) 模型,將文件準確地劃分為段落和句子,支援多種開箱即用的語言。
⚙️ 定義統一的提取管道: 在單一的、宣告式的和可重複使用的管道配置中,建構您的整個提取工作流程——包括巢狀上下文和特定角色的 LLM——該配置是完全可序列化的。
🎯 管理巢狀上下文提取: 根據您的管道定義自動處理分層資訊提取(例如,文件 > 章節 > 子章節 > 實體),簡化複雜文件的分析。
⚡ 透過內建的並行性加速: 透過啟用具有簡單
use_concurrency=True開關的並行 I/O 處理,加快涉及多個 LLM 呼叫的繁重提取工作流程。📊 自動追蹤使用情況和成本: 監控您的工作流程中的 LLM 呼叫、token 使用量和相關成本,而無需額外的設定。
🔄 整合後備和重試邏輯: 配備內建的重試機制,並允許輕鬆配置後備 LLM 以提高彈性。
實際用例:將 ContextGem 投入工作
分析法律合約: 想像一下,您需要從數百份軟體授權協議中提取關鍵條款(如終止條件、付款條款和準據法)。您可以為每種類型的條款編寫複雜的提示和剖析器,不如為「終止」、「付款」等定義
Aspects,以及為特定資料點定義Concepts(例如,NoticePeriod作為NumericalConcept,GoverningLaw作為StringConcept)。ContextGem 負責生成提示、提取資料、驗證資料,並將其連結回合約中的確切句子,並提供理由。處理財務報告: 您需要提取具體的數字,並評估季度收益報告中的情緒。您可以設定一個
DocumentLLMGroup,其中一個具有成本效益的模型(extractor_text角色)提取標準數字,如收入和利潤(作為附加到「財務摘要」Aspect的NumericalConcepts)。同時,一個更強大的模型(reasoner_text角色)分析「管理討論」Aspect,以根據細微的語言推導出SentimentRating(使用RatingConcept)。ContextGem 無縫地協調這個多 LLM 工作流程。篩選技術職位的履歷: 負責識別符合特定標準的候選人?為「工作經驗」、「教育程度」和「技能」定義
Aspects。在「技能」中,建立Concepts,如ProgrammingLanguages(可能是JsonObjectConcept,或多個StringConcepts)和YearsOfExperienceWithPython(NumericalConcept)。ContextGem 可以處理提交的履歷,提取此結構化資訊,甚至可以使用BooleanConcept來確定候選人是否符合強制性要求(例如,「HasCloudCertification」)。
結論:專注於提取,而不是框架架設
ContextGem 有意針對個別文件的深入、準確分析進行了最佳化,利用了現代 LLM 不斷擴展的上下文窗口和功能。它提供了一種「batteries-included」的體驗,抽離了常見的開發障礙,如提示工程、資料建模、參考映射和並行性管理。
如果您的目標是從文件中建構可靠、可維護且精確的結構化資料提取工作流程,而又不會陷入重複的設定程式碼中,ContextGem 提供了一個強大而高效的解決方案。它允許您將精力集中在定義您需要什麼資料上,同時它會處理如何準確有效地提取資料的方式。





