使用 AI 创建最快、最精确的发票数据提取器以进行结构输出

使用 ai 创建最快、最精确的发票数据提取器以进行结构输出

使用 llamaextract 和 pydantic 模型提取商店收据

在本文中,我们将探索如何使用 llamaextract 与 pydantic 模型中的模式相结合,以便从商店收据中提取结构化数据。这种方法有助于系统地组织收据信息,使其更易于分析和管理。

设置

首先,确保您安装了 llama-extract 客户端库。使用以下命令:

pip install llama-extract pydantic

注意: 如果您看到有关更新 pip 的通知,您可以使用提供的命令进行更新。

首先,登录llama index cloud并免费获取一个api-key

为您的 llamaextract api 密钥设置环境变量:

import osos.environ["llama_cloud_api_key"] = "your llama index cloud api here"

加载数据

对于此示例,假设我们有一个 pdf 格式的商店收据数据集。将这些文件放在名为receipts的目录中。

data_dir = "data/receipts"fnames = os.listdir(data_dir)fnames = [fname for fname in fnames if fname.endswith(".pdf")]fpaths = [os.path.join(data_dir, fname) for fname in fnames]fpaths

输出应列出收据的文件路径:

['data/receipts/receipt.pdf']

定义 pydantic 模型

我们将使用 pydantic 定义我们的数据模型,这将告诉 api 我们期望或想要从 pdf 中提取哪些字段/数据。对于商店收据,我们可能有兴趣提取商店名称、日期、总金额和购买的商品列表。

from pydantic import basemodelfrom typing import listclass item(basemodel):    name: str    quantity: int    price: floatclass receipt(basemodel):    store_name: str    date: str    total_amount: float    items: list[item]

创建架构

现在,我们可以使用 pydantic 模型在 llamaextract 中定义提取模式。

from llama_extract import llamaextractextractor = llamaextract(verbose=true)schema_response = await extractor.acreate_schema("receipt schema", data_schema=receipt)schema_response.data_schema

输出架构应类似于以下内容:

{    'type': 'object',    '$defs': {        'item': {            'type': 'object',            'title': 'item',            'required': ['name', 'quantity', 'price'],            'properties': {                'name': {'type': 'string', 'title': 'name'},                'quantity': {'type': 'integer', 'title': 'quantity'},                'price': {'type': 'number', 'title': 'price'}            }        }    },    'title': 'receipt',    'required': ['store_name', 'date', 'total_amount', 'items'],    'properties': {        'store_name': {'type': 'string', 'title': 'store name'},        'date': {'type': 'string', 'title': 'date'},        'total_amount': {'type': 'number', 'title': 'total amount'},        'items': {            'type': 'array',            'title': 'items',            'items': {'$ref': '#/$defs/item'}        }    }}

运行提取

定义模式后,我们现在可以从收据文件中提取结构化数据。通过指定收据作为响应模型,我们确保提取的数据经过验证和结构化。

responses = await extractor.aextract(    schema_response.id, fpaths, response_model=receipt)

如果需要,您可以访问原始 json 输出:

data = responses[0].dataprint(data)

json 输出示例:

{    'store_name': 'ABC Electronics',    'date': '2024-08-05',    'total_amount': 123.45,    'items': [        {'name': 'Laptop', 'quantity': 1, 'price': 999.99},        {'name': 'Mouse', 'quantity': 1, 'price': 25.00},        {'name': 'Keyboard', 'quantity': 1, 'price': 50.00}    ]}

结论

在本文中,我们演示了如何将 llamaextract 与 pydantic 模型结合使用来定义数据模式并从商店收据中提取结构化数据。这种方法可确保提取的信息组织良好且经过验证,从而更易于处理和分析。

这也可用于许多案例、发票、收据、报告等。

快乐编码!!

你有一个项目?想让我帮你发邮件给我??:wilbertmisingo@gmail.com

有疑问或想成为第一个了解我的帖子的人:-
在 linkedin 上关注 ✅ 我?
在 twitter/x 上关注 ✅ 我?

以上就是使用 AI 创建最快、最精确的发票数据提取器以进行结构输出的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1348762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 12:19:47
下一篇 2025年12月13日 12:19:57

相关推荐

  • ZED-分数计算器

    `#导入重要的包import pandas as pd # 用于数据操作和分析的库import numpy as np # 用于处理数组的库import matplotlib.pyplot as plt # 用于绘图和可视化的库import seaborn as sns # 用于可视化的库%matp…

    好文分享 2025年12月13日
    000
  • 使用 Lyzrai 转换文本:分步指南

    写作是我们日常生活中必不可少的一部分。无论是起草电子邮件、创建文档还是讲述故事,我们都力求清晰和准确。然而,使用拼写检查器纠正错误可能具有挑战性。 使用人工智能校对,这是一款旨在润色文本的出色工具。今天,我们将探索使用 ai 来改进写作、纠正语法、拼写、标点符号和格式的简单代码。 问题陈述 创建语法…

    2025年12月13日
    000
  • 使用 Lyzr SDK 构建网络安全助手

    在当今的数字时代,网络安全至关重要。为了帮助个人保护他们的在线活动和设备,我使用 lyzr automata sdk 和 openai 的 gpt-4 turbo 开发了一个网络安全助手应用程序。这篇博文将引导您完成此应用程序的创建,该应用程序提供个性化的网络安全提示和基于用户输入的自定义安全检查表…

    2025年12月13日
    000
  • Python 中的装饰器 Getter 和 Setter

    装饰器的一种类型是属性获取器和设置器。这些装饰器允许对类实例中的变量进行受控访问。 属性 getter 和 setter 是专为控制面向对象编程中的属性而设计的。它们与函数装饰器不同,因为它们用于类属性(请在此处查看我关于函数装饰器的帖子)。函数装饰器和属性 getter 和 setter 装饰器都…

    2025年12月13日
    000
  • Django:如何使用 Shell?

    “我只需要运行这段代码的一部分,有什么办法吗?” 是的,可以使用 django shell 运行一段代码或脚本。它是一个交互式命令行界面,允许我们直接与数据库交互并测试代码片段。它类似于 python 提示符,但可以从您的项目导入函数、模型等。 如何访问 django shell? 此命令会打开已导…

    2025年12月13日
    000
  • 使用 Lyzr SDK 构建生产力助手

    在我们快节奏的世界中,保持生产力往往具有挑战性。由于需要兼顾众多任务和实现目标,找到适当的平衡点可能会让人不知所措。输入生产力助手,这是一款创新的应用程序,旨在根据您的特定需求提供个性化提示和可行的建议。该应用程序由 lyzr automata 和 openai 的 gpt-4 turbo 提供支持…

    2025年12月13日
    000
  • pycharm中文版要怎么安装

    如何安装 PyCharm 中文版?下载安装程序:访问 JetBrains 官网下载 PyCharm 安装程序。安装 PyCharm:根据操作系统(Windows、macOS 或 Linux)进行相应安装。配置 PyCharm 语言:在设置中选择 “外观主题” 为 &#8220…

    2025年12月13日
    000
  • pycharm安装pip教程2024

    如何在 PyCharm 中安装 pip?确保 PyCharm 已安装 Python解释器。启用 “Package Installer”(软件包安装器)。在 PyCharm 控制台中键入以下命令并按 Enter:pip install –user pip。验证 pi…

    2025年12月13日
    000
  • 为我的机器学习库(如 pytorch)添加了高级调试功能

    为我的机器学习库添加了调试模式、调试绘图参数、调试层梯度、部署、修复库的子模块,该库应该是 scikit learn 和 pytorch 的原始组合。 https://pypi.org/project/okrolearn/ 安装 要为 cpu 安装 okrolearn,请使用: pip instal…

    2025年12月13日
    000
  • 强烈推荐:&#算法快速入门&#课程

    您是否希望提高解决问题的能力并更加精通编码和算法实现? labex 提供的算法快速入门课程就是您的最佳选择。这门综合课程旨在帮助您通过众多交互式编码挑战快速理解和实现各种算法。 掌握基本算法 在本课程中,您将深入研究算法的世界,学习如何实现各种技术,包括排列、二和、压缩、哈希图、字符串差异、Fizz…

    2025年12月13日
    000
  • Python 中的 Map 与 For:选择哪一个?

    在python中,迭代序列有两种常见的方法:map和for。选择正确的方法会对代码的可读性、性能和可维护性产生重大影响。了解这些方法之间的差异可以帮助优化您的代码并使其更加高效。 map 和 for 循环都具有相同的基本目的,但它们以不同的方式和不同的复杂程度来实现。下面详细介绍了每种方法,以帮助您…

    2025年12月13日
    000
  • 使用 pyenv 管理 Python 版本和虚拟环境

    pyenv 包是一个非常有用的工具,用于管理多个版本的 python,没有太多麻烦。它还附带了各种用于简化开发体验的插件,包括 pyenv-virtualenv,它提供了管理虚拟环境和 conda 环境的功能。 不幸的是,windows 上不支持 pyenv。但是,我们建议 windows 用户使用…

    2025年12月13日
    000
  • 数据分析 数据分析终极指南:技术和工具

    数据分析师在从金融到医疗保健再到营销的各个领域都受到追捧。他们将原始数据转化为可操作的见解,帮助利益相关者做出明智的决策。想要进入这一领域,需要: 学习基本数据分析技能:通过获取数据分析所需的基础技能。这包括统计分析、数据可视化以及熟练使用 Excel、SQL 和 Python 等工具。获得资格:获…

    2025年12月13日
    000
  • 在数据科学领域建立成功职业生涯的专家建议:教育、技能和求职技巧

    数据科学 它是当今科技行业最具活力和最受欢迎的领域之一。凭借解决复杂问题并从数据中得出可行见解的承诺,难怪许多人渴望加入这个令人兴奋的领域。但如何在数据科学领域建立成功的职业生涯呢? 这里有关于教育、基本技能和有效求职技巧的专家建议,以指导您的工作。 1、打好教育基础 数学是关键对数学的深入理解构成…

    2025年12月13日
    000
  • ips 上的 Python 编码

    我一直想知道如何使用 Python 并让它变得更好。所以我列出了使用 Python 编码的 5 个技巧。 提示 1 使用内置函数和库: 这将帮助您完成您正在从事的任何项目。另外,这些功能已经针对性能进行了优化。 技巧 2 使用列表推导式: 这可以使代码更加美观和Pythonic,但也会使其变得难以理…

    2025年12月13日
    000
  • 使用 Prisma 客户端 Python 拥抱类型安全和数据库拉取

    随着现代软件开发的不断进步,我们用来与数据库交互的工具比以往任何时候都更加重要。在这些工具中,prisma client python 已经成为一种强大的 orm,它优先考虑类型安全和高效的数据库操作,特别提供了 sqlalchemy 等传统 orm 库可能缺乏的功能,例如无缝数据库拉取。 类型安全…

    2025年12月13日
    000
  • Python 调试实用程序

    pdbwhereami 目的 这是一个实用程序模块,可帮助使用以下功能调试 python 源代码 谁阿米我在哪里谁打电话给我叫树谁是爸爸 它用在哪里? 此模块在几个关键方面为开发人员提供帮助,特别是在调试和维护代码方面。以下是主要好处: 1.调试: 识别错误: 当发生错误时,知道确切的行号和文件可以…

    2025年12月13日
    000
  • 诗歌:简化 Linux 上的 Python 依赖管理

    对虚拟环境和可重复性的需求 python 项目通常依赖于大量的外部库和包。随着项目的成长和发展,管理这些依赖关系可能会变得复杂。 python 开发的两个关键方面是: 虚拟环境:隔离空间,使项目依赖项与系统范围的 python 安装分开。 可重复性:确保项目可以轻松设置并在不同机器或环境中一致运行。…

    2025年12月13日
    000
  • 数据分析终极指南:技术和工具

    数据分析是利用数据获取有用信息的实践,然后利用这些信息做出明智的决策。数据分析师的角色通常包括收集、清理和解释数据集,以回答问题并解决企业的问题。检查这些数据集可以揭示模式、突出关系或预测消费者趋势,这使我们能够做出更好、更明智的决策。 数据分析的类型 描述性分析清晰易懂地总结了大量数据。它通过识别…

    2025年12月13日
    000
  • 机器学习编程语言初学者指南

    机器学习是一个令人兴奋且快速发展的领域,它融合了数学、统计学和计算机科学来创建从数据中学习的系统。对于渴望深入机器学习的初学者来说,了解要学习哪些编程语言至关重要。这是机器学习最重要的编程语言以及它们为何必不可少的指南。 1.Python 为什么选择Python?Python 因其简单性以及庞大的可…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信