Doctran 使用教程

Doctran 使用教程

1. 项目介绍

Doctran 是一个文档转换框架,它使用大型语言模型(LLM)来处理带有自然语言指令的复杂字符串。在某些需要解析文档的应用场景中,人类的判断比速度更重要,例如标注交易或从文本中提取语义信息。在这些情况下,正则表达式可能过于死板,而大型语言模型则是理想的选择。可以将 Doctran 视为一个由 LLM 驱动的黑箱,它接收杂乱无章的字符串输入,输出整洁、已标记的字符串。另一种看待它的方式是,它是 OpenAI 功能调用特性的模块化、声明式包装,大大改善了开发者的使用体验。

2. 项目快速启动

首先,确保你已经安装了 Python 环境。接下来,使用以下命令安装 Doctran:

pip install doctran

然后,你可以通过以下代码快速启动一个 Doctran 实例:

from doctran import Doctran

# 初始化 Doctran 实例,需要提供 OpenAI API 密钥
doctran = Doctran(openai_api_key=YOUR_OPENAI_API_KEY)

# 解析文档内容
document = doctran.parse(content="your_content_as_string")

请将 YOUR_OPENAI_API_KEY 替换为你的 OpenAI API 密钥。

3. 应用案例和最佳实践

以下是一些 Doctran 的应用案例和最佳实践:

  • 清理和结构化文本:Doctran 可以将非结构化的文本转换为半结构化的格式,使其更适合向量搜索。
  • 链式转换:Doctran 允许轻松地链式调用文档转换,比如先从文档中删除所有个人信息,然后进行总结。

一个简单的链式调用示例:

document = await document.redact(entities=["EMAIL_ADDRESS", "PHONE_NUMBER"]).summarize().execute()
  • 提取信息:Doctran 可以根据有效的 JSON schema 提取文档中的结构化数据。
from doctran import ExtractProperty

properties = ExtractProperty(
    name="millenial_or_boomer",
    description="预测这份文档是由千禧一代还是婴儿潮一代撰写的",
    type="string",
    enum=["millenial", "boomer"],
    required=True
)

document = await document.extract(properties=properties).execute()
  • 总结文档:Doctran 可以总结文档信息,虽然 OpenAI 可能不总是尊重 token_limit 参数。
document = await document.summarize().execute()

4. 典型生态项目

目前没有特定的生态项目被列出,但是 Doctran 作为一个开源项目,鼓励社区贡献新的文档转换器。贡献新的转换器可以帮助扩展 Doctran 的功能和适用性。你可以通过添加新的类(继承自 DocumentTransformerOpenAIDocumentTransformer),实现 __init__transform 方法,以及在 DocumentTransformationBuilderDocument 类中添加相应的方法来链式调用,来贡献新的转换器。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值