文本处理工具doctran(集成LLM和NLP库)

今天给大家推荐一款文本处理工具,可以Extract、Redact、Summarize、Refine、Translate、Interrogate,这个工具就是文档转换框架doctran

欢迎关注公众号

doctran基于OpenAI的GPT模型和开源的NLP库来剖析文本数据。该工具也可以在LangChain框架document_transformers模块内使用。(本质上是对LLM和NLP库的封装)

Github: https://github.com/psychic-api/doctran

Example: https://github.com/psychic-api/doctran/blob/main/examples.ipynb

1. 安装

pip install doctran

2. 使用

  • 初始化设置
from doctran import Doctran

OPENAI_API_KEY = ''
OPENAI_MODEL = ''

doctran = Doctran(openai_api_key=OPENAI_API_KEY,openai_model=OPENAI_MODEL)
document = doctran.parse(content="your_content_as_string")

注:修改openai_api_base、使用其他LLM等可在源码中修改即可。

  • Extract

针对任何有效的JSON模式,使用OpenAI的函数调用从文档中提取结构化数据。

from doctran import ExtractProperty

properties = ExtractProperty(
    name="millenial_or_boomer", 
    description="A prediction of whether this document was written by a millenial or boomer",
    type="string",
    enum=["millenial", "boomer"],
    required=True
)
document = await document.extract(properties=properties).execute()
  • Redact

使用spaCy模型从文档中删除姓名、电子邮件、电话号码和其他敏感信息。在本地运行,以避免将敏感数据发送到第三方API。

document = await document.redact(entities=["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER", "US_SSN"]).execute()
  • Summarize

总结文档中的信息。可以传递token_limit以配置摘要的大小,然而OpenAI可能不会遵循此限制。

document = await document.summarize().execute()
  • Refine

除非与特定主题相关,否则从文档中删除所有信息。

document = await document.refine(topics=['marketing', 'meetings']).execute()
  • Translate

将文本翻译成另一种语言。

document = await document.translate(language="spanish").execute()
  • Interrogate

将文档中的信息转换成问答格式。最终用户的查询通常以问题的形式提出,因此将信息转换为问题并从这些问题创建索引,通常在使用向量数据库进行上下文检索时能够产生更好的结果。

document = await document.interrogate().execute()

Interrogate可以帮助构造大模型有监督微调阶段的问答对。

3. 总结

doctran使用简单,可以用于日常工作中的数据处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244994.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汇编指令命令

ARM汇编指令学习 工程搭建 汇编编程环境搭建 HN0AE-522LW-NNRAF-63PUS-7IGFH-YF58D 配置编译工具链 为工程配置链接脚本(map.lds) 将map.lds 复制到工程文件夹(在桌面创建的ARM-ASM文件) 创建汇编文件 接下来我们需要建立一个start.s汇编文件添加到我们的…

基于Microchip 光伏逆变器方案

小编杂谈新能源已经完成了至少5期的博文了,Boss告诉小编,如果还不介绍我们的产品和方案,黄花菜都凉了,所以小编这期博文就重点介绍一下Microchip在储能上的产品介绍,重点聊聊Microchip储能中使用的光伏逆变器的解决方案…

沉浸文旅体验!实时云渲染助力2023广东旅博会智慧文旅元宇宙体验馆上线

2023广东国际旅游产业博览会(以下简称旅博会)于9月15-17日在广州中国进出口商品交易会展馆A区举办,共设有国际展区、国内展区、智慧文旅展区、文化创意展区、旅游商品展区等五大展区,汇聚了来自全球近40个国家和地区的近千家参展商…

综述 2022-Genome Biology:“AI+癌症multi-omics”融合方法benchmark

Leng, Dongjin, et al. "A benchmark study of deep learning-based multi-omics data fusion methods for cancer." Genome biology 23.1 (2022): 1-32. 被引次数:34作者单位 红色高亮表示写论文中可以借鉴的地方 一、方法和数据集 1. 3个数据集&…

【✅如何针对大Excel做文件读取?】

✅如何针对大Excel做文件读取? 🟩如何针对大Excel做文件读取🟩XSSFWorkbook文件读取🟩EasyExcel文件读取 ✅扩展知识🟩 EasyExcel简介🟩EasyExcel 为什么内存占用小? 🟩如何针对大Ex…

MySQL使用Not in查询效率慢的优化

引言 问题复盘,在查询某个数据不在另一个表中,查询时间非常慢,10几秒。究其原因not in不走索引。那么怎么解决优化呢,下面是简单记录。 原SQL select * from test where a not in ( select a from test2 where status in (1, 2…

由@EnableWebMvc注解引发的Jackson解析异常

同事合了代码到开发分支,并没有涉及到改动的类却报错。错误信息如下: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.conv…

重新认识Word——给图、表、公式等自动编号

重新认识Word——给图、表、公式等自动编号 给图增加题注题注失败的情况给图添加“如图xx-xx所示” 给公式插入题注第一步——先加题注第二步——设置两个制表符 解决题注“图一-1”的问题 前面我们已经学习了如何引用多级列表自动编号了,现在我们有第二个问题&…

数字病理图像分析的开源软件qupath学习 ①

介绍:QuPath是一种新的生物图像分析软件,旨在满足对用户友好、可扩展、开源解决方案日益增长的需求,用于数字病理学和全玻片图像分析。除了提供全面的肿瘤识别和高通量生物标志物评估工具外,QuPath 还为研究人员提供了强大的批处理…

怎么抠图换背景?这三个方法让你轻松抠图

怎么抠图换背景?抠图是每个独立站商家每天必不可少的工作,简单一张图用PS进行抠图还好,但如何多张图,用PS就效率非常低,且需要专业的PS技能才能上手实现精准抠图的目的,那么怎么快速抠图换背景呢&#xff0…

【MySQL学习】概述

文章目录 1. mysql的启动和停止命令2. 客户端连接3. 数据模型 1. mysql的启动和停止命令 通过指令启动或停止,以管理员身份运行cmd,进入命令行执行如下指令: (1)启动myaql net start mysql(2)…

TikTok科技趋势:平台如何引领数字社交革命?

TikTok作为一款颠覆性的短视频应用,不仅改变了用户的娱乐方式,更在数字社交领域引领了一场革命。本文将深入探讨TikTok在科技趋势方面的引领作用,分析其在数字社交革命中的关键角色,以及通过技术创新如何不断满足用户需求&#xf…

虚拟化嵌套

在理论上,可以在虚拟机(VM)内运行一个hypervisor,这个概念被称为嵌套虚拟化: 我们将第一个hypervisor称为Host Hypervisor,将VM内的hypervisor称为Guest Hypervisor。 在Armv8.3-A发布之前,可以通过在EL0中运行Guest Hypervisor来在VM中运行Guest Hypervisor。然而,这…

智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

目录 1、项目背景 2、项目功能介绍 3、模块框架 3.1 架构框图 3.2 架构介绍 4、系统组成与工作原理 4.1 数据采集 4.2 指令控制 4.3 其他模块 4.3.1 网页、qt视频流 4.3.2 qt搜索进程 5、成果呈现 6、问题解决 7、项目总结 1、项目背景 这个项目的背景是钢铁行业的…

从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧

IOC/DI配置管理第三方bean 1.1 案例:数据源对象管理1.1.1 环境准备1.1.2 思路分析1.1.3 实现Druid管理步骤1:导入druid的依赖步骤2:配置第三方bean步骤3:从IOC容器中获取对应的bean对象步骤4:运行程序 1.1.4 实现C3P0管理步骤1:导入C3P0的依赖步骤2:配置第三方bean步骤3:运行程…

100:ReconFusion: 3D Reconstruction with Diffusion Priors

简介 官网 少样本重建必然导致nerf失败,论文提出使用diffusion模型来解决这一问题。从上图不难看出,论文一步步提升视角数量,逐步与Zip-NeRF对比。 实现流程 Diffusion Model for Novel View Synthesis 给定一组输入图像 x o b s { x i…

12.HTML5新特性

HTML5新特性 1.介绍 它是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。用于取代 HTML4 与 XHTML 的新一代标准版本,所以叫HTML5 HTML5 在狭义上是指新一代的 HTML 标准,在广义上是指…

浮动的魅力与挑战:如何在前端设计中巧妙运用浮动(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

FFmpeg的AVcodecParser

文章目录 结构体操作函数支持的AVCodecParser 这个模块是AVCodec中的子模块,专门用来提前解析码流的元数据,为后面的解码做准备,这一点对cuda-NVdec非常明显,英伟达解码器的元数据解析是放在CPU上的,所以就非常依赖这个…

对于初学者来说,从哪些方面开始学习 Java 编程比较好?

对于初学者来说,从哪些方面开始学习 Java 编程比较好? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Java的资料从专业入门到高级教程工具包」,点个关注,全…