当前位置: 首页 > news >正文

通过python API来调用扣子coze的工作流

通过 Python 调用**扣子(Coze)**的工作流(Workflow),目前最推荐的方式是使用官方提供的cozepySDK(Python SDK)。这是字节跳动官方维护的包,支持完整的 Coze Open API,包括直接执行工作流(非流式/流式)、带文件上传、恢复中断等功能。

1. 准备工作(必须先完成)

  1. 登录扣子平台:https://www.coze.cn 或 https://www.coze.com(国际版)
  2. 创建并发布工作流
    • 在工作流画布中搭建好逻辑(支持输入参数、LLM、代码节点、插件等)
    • 发布后,复制工作流 ID(通常在 URL 最后一段数字)
  3. 创建个人访问令牌(Personal Access Token)
    • 进入「个人空间」→「设置」→「API 密钥」→「创建新密钥」
    • 记录下生成的pat_xxx…(这就是 Token)
    • 注意:Token 有有效期,过期需重新生成
  4. 安装 SDK
    pipinstallcozepy

2. 基本调用方式(非流式 / 同步)

importosfromcozepyimportCoze,TokenAuth,Message# 初始化客户端(推荐从环境变量读取 Token,安全)coze=Coze(auth=TokenAuth(os.getenv("COZE_API_TOKEN")))# 或直接写 TokenAuth("pat_xxxxxxxx")# 工作流 ID(从 Coze 平台复制)workflow_id="你的工作流ID,例如 7423xxxxxx"# 输入参数(根据你工作流定义的输入变量)parameters={"topic":"2025年AI发展趋势","length":"800字","style":"专业分析"# ... 其他你定义的输入键值对}# 执行工作流(同步,非流式)result=coze.workflows.runs.create(workflow_id=workflow_id,parameters=parameters,# 可选:user_id(自定义用户标识,用于追踪)# user_id="user_123")# 打印最终输出print("工作流执行结果:")print(result.output)# 通常是 dict,根据工作流输出节点决定print("最终消息:",result.output.get("content","无输出"))# 如果工作流有多个输出节点,可遍历ifhasattr(result,'outputs'):forkey,valueinresult.outputs.items():print(f"{key}:{value}")

3. 流式调用(推荐用于长任务,实时获取进度)

fromcozepyimportStream,WorkflowEvent,WorkflowEventTypedefhandle_stream(stream:Stream[WorkflowEvent]):foreventinstream:ifevent.event==WorkflowEventType.MESSAGE:# 收到消息增量(类似聊天流式输出)print(event.message.content,end="",flush=True)elifevent.event==WorkflowEventType.ERROR:print("\n错误:",event.error)elifevent.event==WorkflowEventType.INTERRUPT:# 中断(需要用户补充信息)print("\n中断,需要补充:",event.interrupt)# 可调用 resume 接口继续# coze.workflows.runs.resume(workflow_id=workflow_id, event_id=..., resume_data="补充内容")elifevent.event==WorkflowEventType.DONE:print("\n执行完成")# 流式执行stream=coze.workflows.runs.create_stream(workflow_id=workflow_id,parameters=parameters)handle_stream(stream)

4. 支持文件上传(常见场景:OCR、文档分析等)

frompathlibimportPath# 先上传文件file_obj=coze.files.upload(file=Path("/path/to/your/document.pdf"))# 然后把 file_id 传给工作流parameters={"file_id":file_obj.id,"question":"总结这份文档的主要观点"}result=coze.workflows.runs.create(workflow_id=workflow_id,parameters=parameters)print(result.output)

5. 完整推荐实践写法(带错误处理 + 环境变量)

importosimportsysfromcozepyimportCoze,TokenAuth,WorkflowEventTypedefmain():token=os.getenv("COZE_API_TOKEN")ifnottoken:print("请设置环境变量:export COZE_API_TOKEN=pat_xxx")sys.exit(1)coze=Coze(auth=TokenAuth(token))workflow_id="7423xxxxxxxxxxxx"# 替换成你的params={"input_text":"帮我写一篇关于Python异步编程的文章","max_length":1200}try:result=coze.workflows.runs.create(workflow_id=workflow_id,parameters=params)print("执行成功!")print(result.output)exceptExceptionase:print("调用失败:",e)if__name__=="__main__":main()

6. 常见问题 & 注意事项

  • Token 权限:确保 Token 有「工作流执行」权限(一般个人 Token 默认都有)
  • 地域:国内用https://api.coze.cn,国际用https://api.coze.com(SDK 可通过 base_url 指定)
    coze=Coze(auth=TokenAuth(token),base_url="https://api.coze.com")
  • 限额:免费空间有调用次数/天限制,专业版/企业版更高
  • 异步调用:SDK 也支持 AsyncCoze(asyncio),适合高并发场景
  • 官方示例仓库:https://github.com/coze-dev/coze-py (examples 文件夹有 workflow_stream.py 等)

7. 官方文档参考(强烈建议看)

  • 工作流运行接口:https://www.coze.cn/open/docs/developer_guides/workflow_run
  • Python SDK 完整文档:https://github.com/coze-dev/coze-py
  • API 总览:https://www.coze.cn/open/docs

如果你的工作流涉及文件上传、复杂参数、流式中断恢复等特殊场景,告诉我具体需求,我可以帮你写更针对性的代码示例!

http://www.jsqmd.com/news/309301/

相关文章:

  • 企微API开发实战:外部群流量来源的“自动精准归因
  • Python 教程(八):高级特性【高逼格代码】
  • 【Linux】从 fork 到进程终止:写时拷贝细节与常见退出方式
  • 【Linux】零基础入门:一篇吃透操作系统核心概念
  • 2026年建筑材料检测公司推荐榜单,助你选择最优服务
  • 2026 年 1 月厂房降温设备厂家推荐排行榜:工业冷风机,环保空调,大型车间通风降温系统,车间降温解决方案公司精选
  • CSS-4:CSS的三大特性 - 详解
  • 基于Gin与GORM的若依后台管理系统设计与实现
  • 基于WebDAV协议的天翼云盘智能分享管理系统设计与实现
  • 2026 年 1 月热缩管厂家推荐排行榜:彩色/黑色/透明/双壁/高压母排/花纹绝缘热缩管,专业防护与耐用品质的电缆绝缘解决方案
  • 2026 年 1 月铝板厂家推荐排行榜:幕墙铝板,阳极氧化铝板,铝单板,冲孔铝板,雕花铝板源头实力厂家精选指南
  • 如何处理Vue中的异常和错误?
  • vue支付流程的前端实现
  • 跨域问题解决方案:Proxy配置与CORS详解
  • 基于AI算法的市场洞察:黄金5100美元新高成因及贵金属板块联动分析
  • SOLIDWORKS采购避坑指南:4个核心维度锁定优质渠道
  • 选择CST代理商的关键五大维度——超越价格,聚焦长期价值
  • 微信小程序制作一个需要多少钱?2026三种开发方式及详细费用解析
  • 2026年1月饮料代加工厂家推荐榜单:液体/植物/茶饮/咖啡/OEM贴牌,无菌冷灌装与网红定制方案深度解析
  • 5kg便携+0.1秒响应:HORIBA MEXA-600SW不透光度计国六柴油车烟度检测实战全解
  • 【dz-1043】基于物联网的水质监测系统设计与实现
  • 一表双显+±1%精度:MTX-D数字油压温度计赛车/改装车发动机监测实战全解
  • 【dz-1044】基于单片机的自动门
  • 【dz-1045】基于STM32的人体生理参数检测系统设计与实现
  • 【dz-1046】基于单片机的全自动洗衣机控制系统设计
  • 【dz-1047】基于单片机的手提文件箱防盗锁设计
  • 【dz-1048】基于单片机的自动避障小车
  • 秒级采集 × 万级点位 × 两万亿条数据管理,「红河复烤」复烤工艺数字化实践
  • 【dz-1040】热水器控制系统
  • 【dz-1041】基于STM32的智能体重秤的设计与实现