AI 落地的核心是把业务积累的数据用起来

大家好,我是周伟。

最近项目上做了一个聊天机器人,制作该机器人的目的是希望能够帮助我们从常规的功能页面中解脱出来,希望能够通过自然语言提问的方式,然后结合我们的业务数据进行回答。比如问:“xx项目的项目进度怎么样?该项目的责任人是谁?”该机器人会根据我们的项目基础数据进行准确的回答。

目前项目功能慢慢的横向扩展了,扩展到质量管控、合同、财务等业务,也能够实现精准的查询与回答。

该项目主体使用dify的工作流,依赖它管理我们的工作流程、会话、提示词,如果开发团队小,不建议一开始就使用springai框架角度去进行开发,可以优先使用dify这些成型的软件,它还是很强的,省去了开发成本,也省去了很多产品交互定义的成本,因为现在大家都这样子来实现,基本上dify这种实现方式也成为了一种标准。

我们没有使用知识库体系,使用的代码解析出数据库的DDL(数据定义语言,就是数据库建表语句),然后充分维护表和字段的注解,把基础的结构投喂给LLM,让它帮我们筛选表,然后进行对应的SQL语句生成,从而达到业务数据比较低的门槛进行使用,同时维护表和字段的注解,也是一劳永逸的,不像维护知识库那样,是一项持续进行的工作。

研发期间数据库也被AI生成的SQL打死两次,一次查询了日志大表,一次是直接使用了jdbcTemplet没使用数据库池化,所以大家在实现的时候需要注意过滤大表,还有一个就是要注意数据库权限的问题,目前我们是只开放查询权限和IP白名单的方式控制。

以上从技术选型、实现方式和踩过的坑记录一下AI低门槛使用业务数据的实现方式,目前项目效果还是挺好的,还在横向扩展更多的业务。

不管怎么样,AI要利用起来的核心重点离不开把业务数据低门槛的使用起来。

我是周伟,专注于Java和架构领域,坚持撰写有原理,有实战,有体系的技术文章。