以下是如何使用AI和API 逻辑服务器在几分钟内创建完整的运行系统:
- 使用ChatGPT 实现架构自动化:从自然语言创建数据库架构。
- 使用开源API逻辑服务器:使用一个命令创建工作软件。
- 应用自动化:多页面、多表管理应用。
- API 自动化: JSON:API,每个表的增删改查,具有过滤、排序、乐观锁定和分页功能。
- 使用您的 IDE 自定义项目:
- 使用规则的逻辑自动化:在 Python 中声明类似电子表格的规则,用于多表派生和约束 – 比代码简洁 40 倍。
- 使用 Python 和标准库(Flask、SQLAlchemy)并在 IDE 中进行调试。
- 迭代您的项目:
- 修改您的数据库设计和逻辑。
- 与 B2B 合作伙伴和内部系统集成。
此过程利用您现有的 IT 基础设施:您的 IDE、GitHub、云、数据库……开源。让我们看看如何。
1。人工智能:架构自动化
您可以使用现有数据库或使用 ChatGPT 创建新数据库 a> 或您的数据库工具。
使用ChatGPT生成用于数据库创建的SQL命令:
请注意上面的提示。正如我们所听说的,“人工智能需要成人监督。” 需要提示才能获得所需的 SQL。
这将创建标准 SQL 像这样。将生成的 SQL 命令复制到文件中,例如 sample-ai.sql
:
然后,创建数据库:
sqlite3 Sample_ai.sqlite
2。 API逻辑服务器:创建
给定一个数据库(无论它是否是从 AI 创建的),API Logic Server 会使用以下单个命令创建一个可执行的、可自定义的项目:
$ ApiLogicServer create --project_name=sample_ai --db_url=sqlite:///sample_ai.sqlite
这将创建一个可以使用 IDE 打开的项目,例如 VSCode(见下文)。该项目现已准备好运行;按 F5。它反映了 create
命令提供的自动化:
- API 自动化:为 UI 开发人员准备的自助 API;
- 应用自动化:一个管理应用,可用于后台数据维护和业务用户协作。
让我们通过 create
命令探索应用程序和 API 自动化。
应用自动化
应用程序自动化意味着ApiLogicServer create
自动创建多页面、多表管理应用程序。这不由数百行复杂的 HTML 和 JavaScript 组成;这是一个简单的 yaml 文件,易于自定义。
<块引用>
为业务用户协作做好准备,
后台数据维护......
只需几分钟。
块引用>
API 自动化
App Automation 意味着 ApiLogicServer create
自动创建 JSON: API。您的 API 为每个表提供一个端点,包括相关的数据访问、分页、乐观锁定、过滤和排序。
<块引用>
使用框架创建这样的 API
需要几天到几个月的时间。
块引用>
UI 应用程序开发人员可以使用 API 立即创建自定义应用程序,使用 Swagger 设计其 API 调用并将 URI 复制到其 JavaScript 代码中。因此,API 是自助式的:不需要服务器编码。
<块引用>
自定义应用程序开发已解锁:第一天。
块引用>
3。自定义
所以,我们在几分钟内就拥有了可以运行的软件。它正在运行,但我们确实无法部署它,直到我们拥有逻辑和安全性,这使我们可以进行定制。
项目是为定制而设计的,使用标准:Python、框架(例如 Flask、SQLAlchemy)以及用于代码编辑和调试的 IDE。
不仅是 Python 代码,还有规则。
逻辑自动化
逻辑自动化意味着您可以使用 Python声明类似电子表格的规则。这种逻辑通过多表派生、约束和安全性来维护数据库完整性。规则比传统代码简洁 40 倍,并且可以使用 Python 进行扩展。
规则是可执行的设计。使用您的 IDE(代码完成等)将 280 行代码替换为下面五个类似电子表格的规则。请注意,它们完全映射到我们的自然语言设计:
1.调试
上面的屏幕截图显示了我们的逻辑声明以及我们如何调试它们:
- 执行在调试器中的断点处暂停,我们可以在其中检查状态并逐步执行。
- 注意插入
Item
的日志记录。每行代表一个规则触发并显示该行的完整状态。
2.链接:多表事务自动化
请注意,这是一个多表事务
,如日志缩进所示。这是因为,就像电子表格一样,规则会自动链接,包括跨表。
3.简洁 40 倍
五个类似电子表格的规则代表了与 200 行代码相同的逻辑,此处显示。系统后端一半显着减少了 40 倍。
4.自动重用
上面的逻辑可能是为下订单而设计的,会自动应用于所有交易:删除订单、更改商品、将订单转移给新客户等。这减少了代码,并且提高质量(不遗漏极端情况)。
5.自动优化
通过修剪和消除昂贵的聚合查询,可以最大限度地减少 SQL 开销。这些可能会导致几个数量级的影响。
这是因为规则引擎不是基于 Rete 算法,而是针对事务处理进行了高度优化,并与 SQLAlchemy 集成ORM (对象关系管理器)。
6.透明
规则是可执行的设计。请注意,它们完全映射到业务用户可读的自然语言设计(如注释中所示)。这补充了运行屏幕以促进敏捷协作。
安全自动化
安全自动化意味着您激活登录访问安全性并声明授权(使用 Python)来控制用户角色的行访问。在这里,我们筛选出具有销售角色的用户的不太活跃的帐户:
Grant( on_entity = models.Customer,
to_role = 角色.sales,
过滤器 = lambda : models.Customer.CreditLimit > 3000,
filter_debug = "CreditLimit > 3000")
4。迭代:规则 + Python
这样,我们就完成了一日项目。工作屏幕和规则促进敏捷协作,从而导致敏捷迭代。
自动化在这里也有帮助:不仅电子表格规则更加简洁 40 倍,而且它们有意义地简化了迭代和维护。让我们通过两个更改来探讨这一点:
要求 1:绿色折扣
购买 10 件或以上碳中和产品可享受 10% 折扣。
要求 2:应用程序集成
修改数据模型
在此示例中,需要更改架构才能添加 Product.CarbonNeutral 列。这会影响 ORM 模型、API 等。因此,我们希望更新这些内容,但保留我们的自定义。
使用 ApiLogicServerrebuild-from-database
命令支持此操作,将现有项目更新为修订后的架构,同时保留自定义设置。
迭代逻辑:添加 Python
这是我们修改后的逻辑,用于应用折扣并发送 Kafka消息:
扩展API
我们还可以使用标准 Python 和 Flask 为新的 B2BOrder 端点扩展 API:
注意:本例中 Kafka 未激活。要探索与正在运行的 Kafka 集成应用程序的运行教程,请单击此处。
迭代注意事项
这说明了逻辑如何支持迭代的一些重要方面。
维护自动化
除了文档之外,程序员最讨厌的任务之一就是维护。那是因为这不是写代码,而是考古;破译其他人编写的代码,这样您就可以添加四到五行,希望它们能够被调用并正常运行。
逻辑自动化通过维护自动化改变了这一点,这意味着:
- 规则根据系统发现的依赖关系自动排序其执行(和优化)。
- 规则会自动重用用于所有相关交易。
因此,要改变逻辑,您只需“将新规则放入桶中”,系统将确保以正确的顺序调用它并重新使用涵盖所有相关用例。
可扩展性:使用 Python
第一种情况,我们需要做一些if/else测试,添加一点Python会更方便。虽然这是非常简单的Python 作为 4GL,但您拥有面向对象的 Python 及其许多库的全部功能。
例如,我们的扩展 API 利用 Flask 和开源库来处理 Kafka 消息。
重建:保留逻辑
回想一下,我们能够迭代架构并使用ApiLogicServerrebuild-from-database
命令。这会更新现有项目,并保留自定义内容。
5。部署
API Logic Server 提供脚本来从您的项目创建 Docker 映像。您可以将它们部署到云端或本地服务器。
有关详细信息,请参阅此处。 p>
摘要
几分钟之内,您就已经使用 ChatGPT 和 API Logic Server 将想法转换为工作软件。它只需要 5 条规则和几十行 Python 代码。过程很简单:
-
使用
ChatGPT 创建架构
。 -
使用
ApiLogicServer 创建项目
。- 用于解锁 UI 开发人员的自助式 API:第一天
- 用于业务用户协作的管理应用:第 1 天
-
自定义项目。
- 使用规则:比代码简洁 40 倍。
- 使用Python:实现完全的灵活性。
-
迭代 IDE 中的项目以实现新需求。
- 保留之前的自定义设置。
这一切都可以使用标准工具:Python、您的 IDE 和基于容器的部署。
您可以通过详细教程执行本文中的步骤:点击此处。