python+ollama本地大模型批量识别PDF,总结摘要以及关键词并输出EXCEL。

        现在市场上有很多PDF文件的识别,转化,等等。有些业务可能需要总结摘要和关键词等等一系列的操作。然而随着AI的兴起,本地大模型的部署,这些成为一种很方便的方法,接下来我将为各位介绍我所使用的方法。

        本篇文章旨在自动化处理 PDF 文档,提取并清理文本数据,然后使用一种大型模型生成摘要和关键词。最后,处理结果会被整理并输出到 Excel 文件中,便于后续分析和查看。       

         人工智能(AI)是一种模拟人类智能的科技,它已经在现代科技中得到广泛应用,并且是未来发展的重点领域之一。人工智能应用领域多样,包括机器学习和数据分析、自然语言处理、机器视觉、自动化和机器人等。未来发展趋势包括深度学习和神经网络、增强学习、多模态融合和泛用人工智能。总体而言,人工智能的应用将继续扩大,并在不同领域带来更多的创新和进步。(废话~~~)

        首先我们需要下载两个库PyPDF2以及ollama库。(通过ollama部署好本地大模型:qwen2:14b或者其他大模型,这里部署步骤不再赘述,已经有很成熟的步骤)方便调用~~终端输入如下指令。

pip install PyPDF2
pip install ollama

        PyPDF2是一个用于合并、分割、提取文本和元数据等PDF文件操作的Python库。它建立在PDFMiner库的基础上,提供了更高级别的功能和易用性。ollama库是一个用于机器学习和深度学习的Python库。它提供了一系列功能强大的工具和函数,用于数据处理、模型构建、特征工程、模型选择和评估等任务。两者的结合则成为了如今的成果。话不多说,直接上代码。

       首先,在我们进行批量处理PDF文件时,先要了解如何处理单个PDF,然后再进行实现批量PDF的处理实现,如下是如何处理单个PDF,并设有异常处理,在处理PDF时存在部分乱码,可能是包含有图片格式的问题,故此设置了清洗文本,只保留了可以打印的字符,在提交给大模型进行回答时不受影响,个人没有进行未清洗测试。(如有了解的小伙伴请留言哦~)

def clean_text(text):
    text = re.sub(r'[^\x20-\x7E]+', '', text)  # 只保留可打印的 ASCII 字符
    return re.sub(r'\s+', ' ', text).strip()
def process_pdf(pdf_path, output_path):
    try:
        with open(pdf_path, "rb") as file:
            reader = PyPDF2.PdfReader(file)
            with open(output_path, "w", encoding='utf-8') as output_file:
                for page in reader.pages:
                    text = page.extract_text()
                    if text:  # 检查是否成功提取文本
                        clean_text_result = clean_text(text)  # 清理文本
                        output_file.write(clean_text_result + "\n")  # 写入文件
                    else:
                        output_file.write("未提取到有效文本\n")
    except FileNotFoundError:
        print(f"文件未找到: {pdf_path}")
        return False
    except PyPDF2.errors.PdfReadError:
        print(f"无法读取PDF文件: {pdf_path}")
        return False
    except Exception as e:
        print(f"处理PDF文件时发生错误: {pdf_path}, 错误信息: {e}")
        return False
    return True

        接下来是定义超时处理异常类,在后面进行测试时发现,部分PDF通过这里无法执行

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值