今天早上我试了一下,GPT3.5已经可以理解元模型、模型差量、领域特定语言DSL的概念,可以直接驱动Nop平台生成前后端全套应用。Nop平台与GPT沟通的策略如下:
- 通过当前所使用DSL的xdef元模型(类似json schema但更紧凑)帮助GPT更快、更精确的理解DSL结构
- 通过可逆计算的差量合并规则,指导GPT直接返回差量描述
- 将返回差量合并到当前模型上,成为新的当前模型,在此基础上可以无限次与GPT沟通。
这里利用可逆计算理论,通过差量计算可以很自然的实现一般性程序与AI大模型的协作。实际上,DSL可以成为用户、AI大模型、程序员之间的沟通桥梁。通过DSL解析器我们可以向AI模型引入领域特定的世界知识,让AI模型在不需要掌握领域知识的情况下操纵DSL来完成功能。
借助于DSL,Nop平台可以直接与GPT对话,成为AI驱动的低代码平台。
NopPlatform开源地址:
- gitee: canonical-entropy/nop-entropy
- github: entropy-cloud/nop-entropy
- 开发示例:tutorial
以下是与GPT沟通的实例:
提问:
你是计算机程序员,了解元模型。以下元模型是描述数据表定义的。<entity name="!class-name" displayName="string" tableName="!string" tagSet="tag-set" useShard="!boolean=false">
<columns xdef:body-type="list" xdef:key-attr="name"><column name="!var-name" code="!string" displayName="string" stdSqlType="!std-sql-type" precision="int" scale="int" primary="!boolean=false" />
</columns>
</entity>。你能根据这个元模型设计一个用户登录记录表吗,返回格式符合这个元模型的要求
2023/3/17 08:05:55
Yes, I can design a user login record table based on the given meta-model. Here is an example of how the table definition would look like based on the provided meta-model:
<entity name="user_login_record" displayName="User Login Record" tableName="user_login_records" tagSet="user">
<columns>
<column name="id" code="id" displayName="ID" stdSqlType="BIGINT" primary="true" />
<column name="user_id" code="user_id" displayName="User ID" stdSqlType="BIGINT" />
<column name="login_time" code="log