拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Dify 工作流跑 mcp-server-chart,DeepSeek-V3 的 Base URL 填 TaoToken

Dify 工作流跑 mcp-server-chartDeepSeek-V3 的 Base URL 填 TaoToken这套组合要解决的是一个很具体的麻烦你在 Dify 里搭了一条从自然语言提问到 SQL 查询再到图表生成的链路链路里「需求提炼」「自然语言转SQLROOKIE_TEXT2DATA」「图文总结」「文字总结」四个节点都点名要 DeepSeek-V3 来干活而模型的接入点从默认渠道换成 TaoToken 的 OpenAI 兼容地址。听起来只是改一个填写框实际动手时会撞上几个细节Base URL 到底带不带 /v1、模型名怎么写、mcp-server-chart 的 SSE 地址要不要跟着改、变量 ID 对不上导致出图失败。这篇就按接入配置的顺序把每一步能直接抄的配置、能直接跑的命令、以及我踩过的坑一次讲清楚。适合已经在用 Dify 做数据可视化、卡在模型供应商配置这一步的同学。1. 原问题与场景四个 DeepSeek-V3 节点 mcp-server-chart 出图先把这条工作流摊开看你才知道换模型通道会影响哪几个地方。1.1 工作流的节点拓扑整体是一条「自然语言 → 需求提炼 → SQL → 执行 → 判断是否出图 → 总结」的直线分叉点在条件分支。上游是开始节点接收用户问题接着需求提炼节点让 DeepSeek-V3 把口语问题压缩成一句数据查询诉求同时判断是否需要图表、推荐图表类型。参数提取器把三个输出拆成独立变量再喂给 ROOKIE_TEXT2DATA 插件节点生成 SQL。执行 SQL 节点连数据库拿结果条件分支按need_chart走两条路要图表的进图文总结节点那里挂 mcp-server-chart 的 MCP 工具不要图表的进文字总结节点只用 DeepSeek-V3 写一段分析。数据库这边原文用的是 MySQL 的boxoffice表字段就是年份、电影名、评分、导演、票房五列用来演示「各导演票房占比」「历年票房变化」这类问题刚刚好。1.2 换模型通道会动到哪些地方关键认知先建立起来TaoToken 在这条链路里只负责模型调用这一段也就是那四个调用 DeepSeek-V3 的节点。mcp-server-chart 是独立的 MCP 工具服务通过 SSE 协议给图文总结节点提供画图能力它跟模型通道是两回事不要混在一起改。所以本次改动范围只有一处Dify 里模型供应商的接入配置。mcp-server-chart 的容器还跑在你自己的机器上SSE 地址该是多少还是多少。2. TaoToken 前置创建 Key、认清 OpenAI 兼容接口模型通道这一层Dify 只认两样东西一个能通过鉴权的 Key一个能拼出正确请求路径的 Base URL。2.1 拿一把 Key打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后在控制台左侧找到 API Keys 入口新建一把 Key。建完立刻复制存好页面刷新后明文就不再显示了。建议按用途命名比如dify-boxoffice后面如果同时跑好几个 Dify 应用排查问题时一眼就能分清是哪把 Key 在调用。这里有个习惯值得养成不要拿同一把 Key 去跑测试脚本、正式工作流、临时实验三种场景。分开建 Key某条链路出问题时直接禁用对应的那把不会误伤其他应用。2.2 Base URL 为什么是 https://taotoken.net/api 而不是再加 /v1Dify 的 OpenAI-API-compatible 供应商在拼接请求时会自己在 Base URL 后面补/chat/completions。如果你填成https://taotoken.net/api/v1最终请求路径就变成了/api/v1/chat/completions多出来的那一段会让服务端找不到对应路由返回 404。正确写法就是https://taotoken.net/api不加/v1不加结尾斜杠不要手滑写成https://taotoken.net/api/。这个细节看起来很小但它是本篇最高频的报错来源后面第 5 节还会专门讲。3. 可复制配置Dify 接入 TaoToken 的 DeepSeek-V3前置准备做完回到 Dify 界面动手。3.1 OpenAI-API-compatible 供应商填写项进入「设置 → 模型供应商」找到 OpenAI-API-compatible 这一项点添加模型。表单里几个关键字段这样填字段填写值说明模型类型LLM对话类模型模型名称DeepSeek-V3按模型列表中实际可选名称填API Key刚创建的那把形如sk-开头API Base URLhttps://taotoken.net/api不带 /v1模型上下文长度64000按所选模型能力填最大 token 上限4096按需调整保存后点一下「测试」能返回正常结果就说明通道通了。如果这一步就报错先别急着往下配工作流回到第 5 节对着报错代码排查。3.2 四个节点的模型与上下文配置模型供应商加好之后工作流里那几个原本指向 DeepSeek-V3 的节点会自动识别到新配置你只需要逐个点开确认需求提炼节点模型选 DeepSeek-V3上下文接开始节点的用户问题输出保持sql_requirement、need_chart、chart_type三个字段的固定格式方便下游参数提取器按行解析。ROOKIE_TEXT2DATA 节点输入接参数提取出来的sql_requirement数据库连接信息照旧填你的 MySQL 地址、端口、库名、账号密码返回格式选 text。它内部同样要选 DeepSeek-V3 来把自然语言翻成 SQL。图文总结节点Agent 策略选 ReActSupport MCP Tools指令引用执行 SQL 节点的输出。这里模型不直接生成图表而是由它决定调用哪个画图工具、传什么参数。文字总结节点模型同样选 DeepSeek-V3上下文接执行 SQL 的文本结果提示词里把用户原始问题和查询结果两个变量拼进去。3.3 mcp-server-chart 的 SSE 地址保持原样图文总结节点的 MCP 服务器配置写的是你本地容器的地址{ mcp-server-chart: { url: http://10.44.32.14:8000/sse } }把10.44.32.14换成你实际部署机器的内网 IP。容器本身还是原来那条启动命令端口映射 8000 不变。注意这里必须用 SSE 端点不能换成 streamable_http 的/mcp路径——Dify 的插件 Agent 策略目前对 streamable_http 协议支持不完整用了会出现工具列表能拉到、但真正画图时拿不到返回的情况。这一点跟模型通道完全无关别把锅扣到 TaoToken 上。4. 验证请求从「各导演的票房占比」到图片链接配置完不验证等于没配。建议分两层验证先单独确认模型通道再跑完整工作流。4.1 先用 curl 打一发模型通道在终端里直接请求能最快定位问题出在通道还是工作流curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: deepseek-v3, messages: [ {role: user, content: 用一句话说明什么是票房占比} ], max_tokens: 128 }正常会返回一段 JSON里面choices[0].message.content就是模型回复。模型名的写法以控制台模型列表里的标识为准别凭记忆硬写。如果这一步返回 401是 Key 的问题返回 404大概率是 Base URL 多写了/v1返回模型不存在是模型名对不上。4.2 Dify 内跑两条测试问句通道确认没问题后回到 Dify 应用点「运行」依次试这两条第一条各导演的票房占比是多少?。预期是走到图文总结分支输出一段文字分析加一个饼图类的图片链接。链接形如https://mdn.alipayobjects.com/one_clip/afts/img/.../original复制到浏览器能直接打开就说明 MCP 工具真的执行成功了。第二条请用图表展示历年票房变化。这条会走折线图验证的是模型能否正确理解「历年」对应years字段的分组聚合。两条都通过说明需求提炼、SQL 生成、执行、出图、总结五个环节全部打通。再补一条反向用例问一个纯查询类问题比如「票房最高的三部电影分别是哪几部」看它是否走文字总结分支不生成多余图表。5. 本篇常见错排查401、404、无图、变量丢失按出现频率从高到低排。5.1 模型通道类报错配好后测试连接失败先看 HTTP 状态码。401 对应 Key 无效或没带上检查是不是复制时多了空格、或者 Key 已被禁用。404 对应路径不对九成情况是 Base URL 写成了带/v1的形式改回https://taotoken.net/api即可。如果返回内容里提示模型不可用去控制台模型列表核对准确名称大小写和连字符都要一致。还有一种隐蔽情况curl 能通Dify 里测试失败。这通常是 Dify 服务端网络出口受限需要确认部署 Dify 的那台机器能正常访问外网。5.2 mcp-server-chart 与 SSE 类问题图文总结节点报「工具调用失败」或返回空按这个顺序查。先确认容器还活着docker ps能看到mcp-server-chart在运行再确认端口映射正确宿主机上curl http://127.0.0.1:8000/sse能看到流式响应头最后确认 Dify 容器能不能访问到这个内网 IP——如果 Dify 跑在 Docker 里10.44.32.14这种宿主机地址在容器内不一定可达必要时换成宿主机在 Docker 网桥中的地址。另一种表现是模型胡乱编一个图片链接看着像成功实际打不开。这多半是模型的工具调用没有真正命中 MCP检查 ReAct 策略是否选对、MCP 配置里的 JSON 是否格式正确。5.3 变量 ID 与提示词变量替换从别处复制提示词时里面的变量引用带着原作者的节点 ID比如{{#1749119517859.chart_type#}}这种。你这边节点 ID 完全不同直接粘贴会解析成空值模型拿不到图表类型提示出图自然失败。正确做法是在提示词框里手动删掉旧变量重新输入/从下拉框里选你自己的节点变量。建议每换一个环境就整体过一遍所有节点的变量引用用 Dify 的变量高亮功能确认每个引用都变成了彩色标签而不是灰色文本。6. 接入之后把 TaoToken 通道沉淀成可复用模板通道跑通之后有几个习惯能让后面少折腾。第一把模型供应商配置和 Key 分开管理Key 换成环境变量注入工作流导出成 DSL 时不会把明文密钥带出去。第二Dify 的模型供应商是全局的同一个实例下多个应用可以共用这一份 TaoToken 配置新建应用时直接选模型就行不用重复填 Base URL。第三给工作流加个最简单的日志节点把每次调用的输入输出落一份文本等图表节点偶尔不出图时你能直接翻记录定位是模型没触发工具还是 MCP 服务没响应。这条链路的边界值得再强调一次TaoToken 承担的是 DeepSeek-V3 的模型调用mcp-server-chart 承担的是画图两者各管一段。哪天你的图表需求变了比如想换成本地渲染的 ECharts 插件模型通道完全不用动只改图文总结节点那一处就行。如果你现在正好卡在供应商配置这一步可以从 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapikeys_difyutm_campaignrewrite 建一把专用 Key再对照 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdoc_difyutm_campaignrewrite 里的接口说明核对一遍 Base URL 和请求路径通常两三分钟就能把这条通道接上剩下的时间留给工作流调优。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门