“世界以痛吻我,我却报之以歌” 泰戈尔
-
大模型的幻觉问题在数据科学领域容易造成差之毫厘谬以千里的状况,如何解决,这是很多客户甚至是投资人提出的; -
基于大模型的数据查询功能到底是给谁用的,他们以前的查数习惯是啥,这是我自己在想的;
-
第一:以终为始,以业务为导向。查数需求是业务方提出的,查哪些指标、哪些维度、哪些过滤条件,这些都会有“标准”,这些标准是现成的,我可爱的同事们已经默默地总结出来了,这个尤为重要; -
第二:流程分层,而不是端到端。以前我的认知是从海量数据表中查Sql,但是只要在中间加一层包含业务知识的数据结构,一切都豁然开朗了。
-
第一步:获取元数据。也就是上面提到的“含业务知识的数据结构”,它是我们的地图。 -
第二步:召回。做过搜索的都知道,这张地图太大了,一定不能全部塞进大模型,要做删减,所以召回的目的,与其说是保留相关度高的,我更喜欢说是尽可能去掉不相关的(细品)。方法有很多,包括最近RAG领域大火的向量召回,但是为了快速实现DEMO,我用关键词召回发现效果也很好。当然,除了你一定要查询“全部的线上渠道”,而我却没办法实现把“京东”、“淘宝”、“拼多多”一网打尽。 -
第三步:大模型思考。为什么不做排序呢,哈哈,也许大模型时代的范式变了,后面再分享一些关于压缩、长上下文相关的探索。这里我们直接丢给大模型做思考,因为使用的是ChatGPT,所以进行了大量的提升工程开发,这个过程很虐,需要点耐心和文字的敏感度。另外感受到的一点,以前我们说大模型和人类在双向奔赴,这次确实感受到了,以前看autoGPT的代码里为了让大模型生成的json格式更规范要加一句“生成的json需要被Python的json.loads所解析”,直呼666,现在可能不需要了,加上之后反而它会在末尾给你输出一段用Python写的json.loads的代码,手把手教你解析。未来大模型会进化到什么程度呢,语言的水下冰山会被机器读懂多少呢…… -
第四步:查数。查数前其实还要把大模型返回的结果解析一下,因为我们并不是直接让大模型翻译成最终的DSL,而是结合大模型的能力,降低DSL的难度,把弱化版的DSL手工对齐到终极DSL,然后做查询。 -
第五步:呈现。没有太多说的,只能说开头提到的streamlit实现了我全栈工程师的梦想,让我想怎么画图就怎么画图,具体的就看结尾的视频演示吧。


