精準溯源 (Source Grounding)
每個擷取結果都能精確對應回原始文本位置,便於人工查核。
非官方指南
這是一個由開發者維護的社群指南 (Unofficial Guide),與 Google 官方無關。
官方文件雖然全面,但在本地模型適配(如 Llama 3/Mistral)以及實際場景落地上往往不夠詳細。
這份指南源於真實專案經驗,涵蓋了API 成本優化、長文檔處理技巧以及企業級安全配置。
30秒內執行你的第一個擷取任務。
透過 pip 安裝。需要 Python 3.9+。
pip install langextract預設使用 Google Gemini。你需要從 Google AI Studio 獲取 Key。
export LANGEXTRACT_API_KEY="your-api-key-here"從一段簡單的文本中擷取角色資訊。需要提供 Few-shot Example。
import langextract as lx
# 定義擷取 prompt
prompt = "擷取文本中的角色及其情緒。"
# 提供 Few-shot Example 來引導模型
examples = [
lx.data.ExampleData(
text="羅密歐: 噓!那邊窗戶透過來的是什麼光?",
extractions=[
lx.data.Extraction(
extraction_class="角色",
extraction_text="羅密歐",
attributes={"情緒狀態": "驚奇"}
),
]
)
]
# 輸入文本
text = "茱麗葉望著星空,思念著羅密歐。"
# 執行擷取 (預設使用 Gemini Flash 模型)
result = lx.extract(
text_or_documents=text,
prompt_description=prompt,
examples=examples,
model_id="gemini-2.5-flash",
)
print(result.extractions)如何接入不同的模型?
隱私安全、零成本。推薦開發測試使用。
ollama pull gemma2:2bollama serveimport langextract as lx
result = lx.extract(
text_or_documents=text,
prompt_description=prompt,
examples=examples,
model_id="gemma2:2b", # 自動選擇 Ollama provider
model_url="http://localhost:11434",
fence_output=False,
use_schema_constraints=False
)適合複雜推理任務。需要安裝依賴:pip install langextract[openai]
export OPENAI_API_KEY="sk-..."import os
import langextract as lx
result = lx.extract(
text_or_documents=text,
prompt_description=prompt,
examples=examples,
model_id="gpt-4o", # 自動選擇 OpenAI provider
api_key=os.environ.get('OPENAI_API_KEY'),
fence_output=True,
use_schema_constraints=False
)注意
OpenAI 模型需要 fence_output=True 和 use_schema_constraints=False,因為 LangExtract 尚未為 OpenAI 實現 Schema 約束。
LangExtract 支援所有 OpenAI 相容 API,包括 DeepSeek (V3/R1)、通義千問 (Qwen)、豆包 (Doubao) 等。
import langextract as lx
result = lx.extract(
text_or_documents=text,
prompt_description=prompt,
examples=examples,
model_id="deepseek-chat",
api_key="your-api-key",
language_model_params={
"base_url": "https://api.deepseek.com/v1" # 替換為供應商 URL
},
fence_output=True,
use_schema_constraints=False
)從病歷文本中擷取藥品名稱、劑量和服用頻率。 查看完整範例
處理超過 token 限制的長文(如 PDF、書籍)。 查看完整範例
處理中文、日文等非英語文本。 查看完整範例
Q: LangExtract 是免費的嗎? A: 函式庫本身是開源免費的(Apache 2.0 授權)。如果你使用 Gemini/OpenAI 的 API,需要支付 API 費用。使用本地 Ollama 則完全免費。
Q: 支援 Azure OpenAI 嗎? A: 支援。對於企業用戶,可以透過配置 Azure Endpoint 來確保資料合規性。
Q: 如何與 RAG (檢索增強生成) 結合? A: LangExtract 非常適合作為 RAG 流程的前處理工具。您可以將擷取出的是結構化資料存入 Milvus 或 Pinecone 向量資料庫,提升檢索精準度。