在GCP上创建聊机机器人并使用Google Cloud Storage的数据

我有一个需求,需要构建一个互动聊机机器人来回答用户的查询。

我们从不同的源系统获取不同的源文件,并在Google Cloud Storage上的CSV文件中维护文件到达和处理的时间日志。每30分钟生成一个CSV文件,记录任何新到达并存储在GCP上的文件的日志。

用户通过邮件不断询问文件是否到达、哪些文件尚未到达等问题。

如果我们能制作一个能够读取GCS上的CSV数据并回答用户查询的聊机机器人,这将在响应时间方面提供极大的帮助。

这可以通过聊机机器人实现吗?

如果可以,请推荐最合适的工具/编程语言来实现这一目标。


回答:

您可以用几种方式实现您的需求。这完全取决于您对响应时间和CSV文件大小的要求

  • 使用BigQuery和外部表(也称为联合表)。在定义时,您可以选择GCS中的文件(或文件模式),如CSV文件。然后您可以使用简单的SQL查询来查询数据。此解决方案便宜且易于部署。但BigQuery有延迟(取决于您的文件大小,但可能需要几秒钟)

  • 使用Cloud FunctionCloud SQL。当生成新的CSV文件时,在这个事件上挂接一个函数。该函数解析文件并将数据插入到Cloud SQL中。请注意,函数最多可以运行9分钟,并且最多可以分配2Gb。如果您的文件太大,您可能会突破这些限制(时间和/或内存)。主要优势在于延迟(设置正确的索引,您的查询可以在毫秒内得到回答)

  • 什么都不用!在履行端点获取您的CSV文件,解析它并找到您想要的内容。然后释放它。在这里,您什么都不做,但延迟非常糟糕,处理量巨大,您必须重复文件下载和解析,…这是一个丑陋的解决方案,但如果您的文件在内存中不太大,它可以工作

我们还可以想象使用Dataflow的更复杂的解决方案,但我觉得这不是您的目标。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注