
在之前的文章中多次提到我们在开发一款低代码平台,主要面向 ToB 企业,帮助企业完善信息化建设,给企业的数字化转型贡献一份力量。
数字化转型的目标是降本增效,同样,效率对我们来说也至关重要,主要体现在:售前能快速提供原型和客户沟通、实施过程中能高效交付、售后遇到的各种问题能立马找到答案。
最近,ChatGPT 持续火热,每天在推上都能发现新的应用,那么 ChatGPT 和我们的低代码产品能结合吗?或者说这种大语言模型的思路能给低代码带来怎样的效率提升?
其实一些巨头已经这样做了。
Salesforce 宣布推出新产品 EinsteinGPT,这是一种基于 LLM 技术的产品,它与 Salesforce 的主要网络应用程序集成,利用 OpenAI ChatGPT 模型来帮助跟踪销售人员联系潜在客户的频率,并自动编写营销电子邮件,无需手动编写电子邮件。
另一方面,微软也宣布将 ChatGPT 技术扩展到 Power Platform 平台上。Power Platform 是微软的一款低代码产品,在《最近看了两本低代码的书》中有介绍。这意味着 Power Platform 上的 Power 虚拟代理和 AI Builder,都已经更新了 ChatGPT 编码功能,使用户可以在很少甚至不用编写代码的情况下,开发自己的应用程序。
Salesforce 将其应用在业务能力上,微软则在平台能力上进行了增强。对我们来说,售前和实施中需要的是能快速搭建应用,售后需要快速解决问题,所以有两个方向可以去做:
1、应用搭建效率的提升。
2、构建智能问答系统。
目前项目实施的步骤如下:
让低代码产品集成了 ChatGPT 的能力后,系统就会变成这样:
例如:在对话框中输入,将当前列表的项目名称这一列宽度调整到 500 ,这时就需要能识别参数:项目名称和宽度 500,而且知道需要调用调整列宽的接口。
现有的低代码平台在后台做完各种配置后,点击保存后,前端收集所有数据传递给接口,接口的颗粒度比较粗,一次性会存储很多内容,但上面例子中调整一个列的列宽设置就需要一个接口,这就需要接口的颗粒度非常细,所以,改造接口颗粒度是实现智能化的第一步。
上面说结合 ChatGPT 的能力,并不是直接对接 ChatGPT 的接口,所以说要实现还是相当有难度的。不过一个新的技术兴起到完全在 ToB 市场中普及,是有一个时间周期的,只要方向没错,完全有这个准备的时间。
目前在项目实施过程中存在几个问题,这也是为什么一个智能问题系统很重要的原因:
现在的方式就是通过文档搜索,这些年也沉淀了非常多的文档,比如:业务场景案例、操作手册、实施常见问题手册等,不过是基于关键字搜索的,用关键字搜索有几个问题:
如果按照 ChatGPT 的思路,智能问答系统的逻辑就是这样的:
针对这个问题,我在知识星球问过张善友大佬,下面的图就是张善友提供的:

宝玉在推上也回答过类似的问题:
https://twitter-thread.com/t/1641656561650249730。
不过张善友和宝玉提供的参数都是依赖 OpenAI 的接口,如果不依赖 OpenAI,有办法实现吗?这需要进一步去学习和研究。
最近看到 Supabase 产品的文档就提供了 AI 问答(https://supabase.com/docs),这个效果就是我想要达到的,总结下就是根据自然语言的输入,给一个精准的答案。

未来已经到来,不管是产品还是个人,都需要持续不断地学习和进化,才能不被淘汰。
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur
前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源
英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配