我的提交概述

Fin PEN 是一款人工智能驱动的金融科技应用程序,用于实时分析客户发票收据图像,让企业主更好地了解客户的消费习惯。

该应用程序实时接收客户发票收据图像,捕获收据数据,并分析捕获的结果,以更好地了解客户的消费习惯。

Fin PEN的系统架构分为3个核心单元,imageanalysisstorage

该应用程序使用 Redis 的队列系统来接收、跟踪和处理请求,并使用 RedisJSON 来存储分析的数据。

Fin PEN 的系统设计如下所示。

Fin PEN的系统设计架构:

Fin PEN 的系统设计架构

Fin PEN 的用户界面.

Fin PEN 的 UI

Fin PEN 的 Graph UI.

Fin PEN 的图形 UI

Fin PEN in Film

** Fin PEN 的工作原理:**

Fin PEN的系统架构分为3个核心单元,imageanalysisstorage。该应用程序使用 Redis 的队列系统来接收、跟踪和处理请求,并使用 RedisJSON 来存储分析的数据。

客户拍摄发票收据的照片并将其上传到应用程序。该应用程序接收图像上传并捕获收据的数据。捕获的数据被添加到 Redis 的队列系统中等待处理。处理完成后,分析的数据将存储到 RedisJSON 数据库中。

然后从 RedisJSON 数据库中检索分析的数据,并绘制一个图表来描述客户的消费习惯,例如客户在哪一天花费最多的钱以及在什么产品上。

Fin PEN 是金融支付集成网络(Fin PEN)的首字母缩写。

运行应用程序:

下载或克隆 Fin PEN:https://github.com/VakinduPhilliam/FinPEN

在您的 PC 上安装Node.JS、Redis 和 Memurai(适用于 Windows 用户)。

安装 Python3(并安装 Python 依赖项、OpenCV (CV2) 和 PyTesseract)。

安装 Pip8 或更高版本(用于管理 python 依赖项安装)。

安装Tesseract(用于图像文本提取)。还可以转到您的“routes/analyzer.py”文件并更新“pytesseract”配置变量pytesseract.pytesseract.tesseract_cmd以反映 tesseract 文件在您的 PC 上的安装位置和位置。

解压 Fin PEN 项目并安装 NPM 依赖项。

在项目文件夹的命令行终端中,安装 npm 依赖项。

npm 安装

然后安装 python 依赖项(确保安装了 pip8 或更高版本)。

npm 运行 pyinstall

然后运行项目:

npm 开始

如果运行成功,您应该在控制台中看到消息“Fin PEN 在端口 6006 上成功启动”。

打开浏览器并访问'http://localhost:6006'。

Fin PEN 用户界面如下所示。

Fin PEN 用户界面:

Fin PEN 用户界面

上传发票收据进行分析:

现在让我们分析发票收据。

拍摄发票收据照片(或使用下载的“演示”文件夹中的照片)并将其上传到 Fin PEN 进行分析。

Fin PEN 将开始处理收据(这可能需要几分钟)。

Fin PEN 应用程序将捕获其数据、分析结果并绘制显示分析结果的图表。

分析的 Fin PEN 图如下所示。

带有分析数据图的Fin PEN用户界面:

带有分析数据图的 Fin PEN 用户界面

工作中的 Redis:

Fin PEN 的设计架构利用 Redis 排队机制的强大功能来高效管理处理请求,并利用 RedisJSON 来存储数据。

排队请求

Fin PEN 使用 redis 对用户上传请求进行排队。这确保了上传到系统的收据照片的有效管理和处理。

redis 队列工作者实现如下所示。


const queueWorker = new Queue('queue_worker', {
    limiter: {
        max: 5000, // Limit the queue to a maximum of 5000 jobs per 10 seconds
        duration: 10000
        },
    redis: {
        host: "127.0.0.1",
        port: "6379",
        password: ""
      }    
});

进入全屏模式 退出全屏模式

处理数据

从单个发票收据图像中提取的数据采用 JSON 格式,如下所示。它是一种存储在 RedisJSON 数据库中的数据。


[{
    "logs":{
        "image":"0.20608087643787876.png",
        "timestamp":"8/13/2022"
        },
    "results":{
        "Price":4500,
        "Tax":409,
        "Total":4909
        }
}]

进入全屏模式 退出全屏模式

Fine PEN如何存储数据:_

Fin PEN 主要使用“JSON.SET”命令将数据存储到 RedisJSON。


await jsonCache.set(receipt:{receiptImageName}, {extractedReceiptJSONData});

进入全屏模式 退出全屏模式

例如。


await jsonCache.set(‘receipt: 0.4213453345.png’, ‘[{"logs":{"image":"0.20608087643787876.png","timestamp":"8/13/2022"},"results":{"Price":4500,"Tax":409,"Total":4909}}]’);

进入全屏模式 退出全屏模式

Fin PEN如何读取数据:

Fin PEN 主要使用“JSON.GET”命令从 RedisJSON 读取数据。


await jsonCache.get(receipt:{receiptImageName}, {variableKeyword});

进入全屏模式 退出全屏模式

例如


const value = await jsonCache.get(‘receipt: 0.4213453345.png’, “results”);

进入全屏模式 退出全屏模式

Redis 性能:

每秒对负载执行的读取和写入操作的速率高于使用纯 JSON 或其他 NoSQL 数据库时的速率。平均执行延迟也被最小化。

投稿类别:

古怪的通配符

使用的语言

节点.js,

JavaScript,

Python。

链接到代码

GitHub 徽标VakinduPhilliam/FinPEN

金融科技应用。

Fin PEN(金融支付提升网络):

Fin PEN 是一款人工智能驱动的金融科技应用程序,用于实时分析客户发票收据图像,让企业主更好地了解客户的消费习惯。

系统架构:

Fin PEN的系统架构分为3个核心单元,imageanalysisstorage。系统使用 Redis 的队列系统来接收、跟踪和处理请求,并使用 RedisJSON 来存储分析的数据客户端拍摄发票收据的照片并将其上传到应用程序,应用程序接收图像上传并捕获收据的数据,捕获的数据被添加到 Redis 的队列系统中等待处理。处理完成后,分析的数据将存储到 RedisJSON 数据库中。然后从 RedisJSON 数据库中检索分析的数据,并绘制一个图表来描述客户的消费习惯。

Fin PEN系统设计架构:

Fin PEN 系统设计架构

Fin PEN 用户...

在 GitHub 上查看

其他资源/信息

重要的!

确保安装Tesseract(用于图像文本提取)。然后转到您的“routes/analyzer.py”文件并更新“pytesseract”配置变量pytesseract.pytesseract.tesseract_cmd以反映 tesseract 文件在您的 PC 上的安装位置和位置。


  • 查看Redis OM,用于将 Redis 用作多模型数据库的客户端库。

  • 使用RedisInsight在 Redis 中可视化您的数据。

  • 注册一个免费的 Redis 数据库.

Logo

Redis社区为您提供最前沿的新闻资讯和知识内容

更多推荐