Documentation Index
Fetch the complete documentation index at: https://docs.textin.com/llms.txt
Use this file to discover all available pages before exploring further.
构造良好的 schema 可以确保抽取结果更符合预期,且便于下游使用,本文分享的最佳实践包括:
- 如何定义清晰的字段
- 使用枚举与描述
- 避免不必要的嵌套
- 聚焦于原文档中的关键信息,引导抽取引擎准确理解抽取意图和解读文档
通过应用这些实践,您可以减少抽取错误、提高输出信息完整度,并利于下游更容易接入。
JSON schema 建议
您的抽取 schema 对输出质量起着至关重要的作用。您可以在 schema 结构、描述(description)以及类型约束上多做尝试,以取得最佳抽取效果。
1. 使用与原文档内容高度匹配的字段名,并为每个字段提供清晰的描述。
采用与原文档中信息呈现方式一致的字段名和描述,有助于抽取引擎更容易识别并提取正确的值。例如从表格中抽取数据,可以直接使用表头作为字段名。
2. 如果要抽取的数据是少量有限值的集合,可以使用枚举类型约束。
如果某个字段有可预测的一组取值(例如“是/否”或预定义的类别),使用枚举(enum)类型来约束输出并提升一致性。
"properties": {
"币种": {
"type": ["enum", "null"],
"enum": [
"USD",
"EUR",
"JPY",
"CAD",
"AUD",
"Other"
],
"description": "国际货币种类代码"
}
}
3. 避免在 schema 中创造新数据,将数据处理放到下游完成。
# 通过 schema 抽取原文档中的月消费值
"properties": {
"monthly_cost": {
"type": ["number", "null"],
"description": "服务月度消费总计"
},
}
.
.
.
# 下游计算年消费值
total_annual_price =
extract_result.json()["result"][0]["monthly_cost"] * 12
4. 对于长列表使用数组类型。
如果你需要抽取一个较长的项目列表(例如发票表格中的订单列表),请在 schema 中使用数组类型(array)。这有助于引擎完整获取列表中的每一项,避免遗漏末尾的数据。