拒绝难看!Echarts助阵Dify,统计图给你好看~
Dify +Echarts ,AIBI必备~
观看视频,您将学会:
1、提取Excel数据表格
2、执行代码加工数据
3、Echarts统计图展示
关注公众号:拂晓的海洋,私信分享DSL文件
Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。
以下是其核心功能列表:
- 工作流: 在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。
- 全面的模型支持: 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。
- Prompt IDE: 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。
- RAG Pipeline: 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。
- Agent 智能体: 您可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为 AI Agent 提供了50多种内置工具,如谷歌搜索、DALL·E、Stable Diffusion 和 WolframAlpha 等。
- LLMOps: 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。
- 后端即服务: 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。
Echarts官网: https://echarts.apache.org/zh/index.html
代码:
import csv
import json
def main(csv_string):
# 将CSV字符串分割成行
lines = csv_string.strip().split('\n')
# 使用csv模块读取数据
reader = csv.reader(lines)
# 将所有行转换为列表
data = [row for row in reader]
# 将数字字符串转换为浮点数
for row in data[1:]: # 跳过标题行
for i in range(1, len(row)):
try:
row[i] = float(row[i])
except ValueError:
pass
# 创建完整的ECharts配置
echarts_config = {
"legend": {},
"tooltip": {},
"dataset": {
"source": data
},
"xAxis": [
{"type": "category", "gridIndex": 0},
{"type": "category", "gridIndex": 1}
],
"yAxis": [
{"gridIndex": 0},
{"gridIndex": 1}
],
"grid": [
{"bottom": "55%"},
{"top": "55%"}
],
"series": [
# 第一个网格中的折线图系列
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
# 第二个网格中的柱状图系列
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1}
]
}
# 生成输出文件
output = "```echarts\n" + json.dumps(echarts_config, indent=2, ensure_ascii=False) + "\n```"
return {"output":output}
模拟数据:
产品 | 1月 | 2月 | 3月 | 4月 | 5月 | 6月 |
---|---|---|---|---|---|---|
产品A | 41.1 | 30.4 | 65.1 | 58.7 | 60.2 | 63.5 |
产品B | 86.5 | 92.1 | 85.7 | 89.2 | 88.3 | 90 |
产品C | 24.1 | 67.2 | 58.4 | 65.6 | 61.2 | 62.9 |
产品D | 36.8 | 21.9 | 35.6 | 34.1 | 37.3 | 33.5 |
无法出图,请参考这个配置测试
echarts配置参考:
{
"xAxis": {
"type": "category",
"data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
},
"yAxis": {
"type": "value"
},
"series": [
{
"data": [120, 200, 150, 80, 70, 110, 130],
"type": "bar"
}
]
}
注意:echarts渲染支持在v0.7版本之后,建议使用较新的Dify版本。
运行不出来的,不是没写echarts md代码块的标识,就是格式错误。已上传了对应的DSL文件供大家调试。