news 2026/3/28 13:16:44

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通过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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/21 7:35:17

SOLIDWORKS采购避坑指南:4个核心维度锁定优质渠道

对于制造企业而言,SOLIDWORKS不仅是设计工具,更是数字化研发的核心支撑。选对购买渠道,才能让工具价值最大化;选错渠道,轻则影响研发效率,重则面临版权风险。结合行业实践经验,以下4个核心维度&…

作者头像 李华
网站建设 2026/3/27 11:01:40

对线面试官系列:MySQL 常见面试题,你能答对几道?

1. 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL、T-SQL)。 存储过程的优点:1.能够将代码封装起来2.保存在数据库之中3.让编程语言进行调用4.存储过程是一个预编译的代码块&#…

作者头像 李华
网站建设 2026/3/16 21:07:48

安捷伦 Keysight 16195B 是德 16195B 校准套件

是德科技 16195B校准套件‌主要用于高频阻抗测量仪的校准,特别是在7 mm接头平面上进行校准。该套件包含以下组件: E4991-60021 (SHORT)、 E4991-60022 (OPEN)以及一个50欧姆的负载,频率范围为DC…

作者头像 李华
网站建设 2026/3/27 3:34:07

力科Teledyne LeCroy PP024 示波器探头 PP024-2

力科PP024探头 是一款无源衰减探头,适用于示波器,具有10:1的衰减值和500MHz的带宽。‌ 该探头的输入电阻为10MΩ,最大电压值为CAT I 500V和CAT II 400V,输入电容为10pF,电缆长度为51.181英寸(约1300毫米&am…

作者头像 李华
网站建设 2026/3/19 12:37:29

springboot旅游旅行攻略网站的设计与实现vue

目录系统架构设计核心功能模块技术实现要点扩展功能设计部署方案开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统架构设计 SpringBoot旅游旅行攻略网站采用前后端分离架构,后端使用SpringBoot框架提供RESTful A…

作者头像 李华
网站建设 2026/3/7 14:52:00

【dz-670】基于单片机的智能化光伏发电监控与管理系统设计

基于单片机的智能化光伏发电监控与管理系统 摘要:当前全球能源需求持续增长,同时对环境保护的重视程度也日益提高,光伏发电作为一种有清洁、可再生特性的能源技术,已获得广泛应用,本文设计了一种以单片机为基础的智能化…

作者头像 李华