今天我们做一个完整的聊天应用,可以在聊天结果中实现数据可视化分析。

标题说效果直逼ChatGPT,还是有点差距的,这差距多大呢,差不多一光年吧!毕竟我们今天做的还只是玩具。

我们先一起来看一下ChatGPT如何实现数据可视化结果的呈现。

Image

很显然,ChatGPT的思路和我们一样,先将用户的提问转为Python代码,后台运行后,在前台显示。不过最后做的饼图对中文不太友好呀!

按照这个思路,我们其实再把前几天的Pandas代码生成的提示词修改成直接写生成Pyecharts的代码,后台沙箱运行后,获取最后生成的图片或者Html文件,这是个比较容易的方案。

但是我不太想讲太多代码,而是想让大家多了解一下Dify这种低代码智能体设计平台是如何实现简单的可视化的。这就需要我们继续编排之前的工作流。

Image

下面就是我们要用到的Dify内置的图表生成工具,很容易就能清楚这三种图表传入的参数要求,都是字符串且格式一样。

Image

下面这个Json数据,是我们上一个教程,工作流输出的最后结果格式,不能直接将其传入到上面的dify图表格式中。所以我们需要修改之前的工作流,对输出结果进行处理。

{"status": "success", "data_result": {"学校": 2, "互联网": 1, "物流": 1, "硬件": 1, "教育机构": 1, "传统零售": 1, "传统媒体": 1, "制造业": 1}}

这里面直接选用了最省事的Python代码格式转化,也就是需要增加这个代码执行的节点。在里面填写需要执行的Python代码。

Image

这个Python代码我们直接问大模型就可以,Dify自带代码生成器,我们只需要描述清楚需求就可以了。下面是我输入的代码生成提示词。

{“status”: “success”, “data_result”: {“学校”: 2, “互联网”: 1, “物流”: 1, “硬件”: 1, “教育机构”: 1, “传统零售”: 1, “传统媒体”: 1, “制造业”: 1}} 边写一段Pytho函数代码,,接受json输入,将data_result的所有key值拼接为一个字符串,每个key之间用 “;” 分隔,赋值到变量exl_ key,将data_result的所有value值拼接为一个字符串,每个value之间用 “;” 分隔,赋值到变量exl_value,将exl_key exl_value返回

Image

直接生成的代码还是有点小问题的,返回的变量只有一个,而Dify的饼图工具需要两个变量,所以我们修改了return语句,返回结果必须是dict。

  
import json  
def main(data: dict) -> dict:  
    data = json.loads(data)  
    exl_key = ";".join(data["data_result"].keys())  
    exl_value = ";".join(map(str, data["data_result"].values()))  
    return {'exl_key': exl_key, 'exl_value': exl_value}

上面的代码其实有个大坑,如果大模型生成的数据格式不是{key:value,key,value}这种格式,这种代码会报错,这个我们下次再解决,这次先实现。

这里还有一个易错点是代码执行起接受的输入变量格式的问题,默认传入的是字符串,需要使用json库强制转化一下。不然会报下面的错误。

Image

OK ,现在我们可以整体跑一遍工作流看一下结果了。

Image

大功告成,这样工作流就可以根据用户的分析需求,生成饼图的结果了。

但是,如果用户想看条形图、折线图该怎么实现呢。这里需要对工作流进行改进了。

第一是增加一个节点——参数提取,让大模型从用户的提示词中查找可视化图表的需求,是做成饼图和柱状图。

第二是增加在数据处理和可视化饼图之间增加条件分支节点,根据参数的提取结果,选择不同的分支。最后工作流的效果如下。

Image

我们下面先来看参数提取器怎么设置。其实从下面的设置我们可以看到,有三个地方。

1.输入变量是指大模型会从用户的提示词这段文本中提取出需要的参数。

2.提取啥参数,就是用户的提示词中有没有提到想要什么样的图表结果,如果能提取到,赋值到新的变量exl_type。

3.指令就是参数提取器给大模型的提示词,这对大模型来说小菜一碟。

Image

这样下一个条件分支的节点就由大模型来决定了。条件分支这个地方,看着复杂,其实很简单,就是判断大模型给出的图形类型,也就是上一步新增的变量exl_type的值是啥,然后生成对应的图表即可。

Image

下面我们再看一下整体工作流的运行效果。

Image

效果还是非常不错的,那我们就可以把这个工作流用在大模型聊天里面了!

我们可以先将这个工作流发布为dify的内置工具。点击工作流右上方的发布,点击最下方发布为工具。

Image

注意这里是重点,敲黑板了 !这是我当小白的时候,踩过的最大的坑,完全是自己试出来的。发布为工具的工作流,参数格式必须是文本text-input,Dify Agent应用中,大模型才能Function Call调用,不然大模型是忽略这个工具的!

所以你的工作流中的输入变量要调整成下面这样!再发布为工具!

Image

OK ,接下来我们就要把数据分析这个工作流当做Function Call了。在dify中创建Agent应用,不懂没关系,照着做,后面见多了就明白了。我后面也会写文仔细对比这几个类型的区别。

Image

然后不需要做什么,把工具添加上就行了。

Image

这样就大功告成了!直接预览调试,我们直接看结果吧!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐