华为云 FunctionGraph:用事件驱动串联 AI 文档处理任务

举报
我是一只鱼 发表于 2026/10/30 09:04:11 2026/10/30
【摘要】 AI 应用除了调用模型,还需要完成文件接收、任务调度、结果保存和异常处理。华为云函数工作流 FunctionGraph 提供事件驱动的函数托管计算能力,可与对象存储等服务配合构建后台处理流程。本文以文档摘要应用为例,介绍异步任务、幂等处理和状态管理的设计思路,让 AI 能力更顺畅地接入业务系统。

华为云 FunctionGraph:用事件驱动串联 AI 文档处理任务

摘要: AI 应用除了调用模型,还需要完成文件接收、任务调度、结果保存和异常处理。华为云函数工作流 FunctionGraph 提供事件驱动的函数托管计算能力,可与对象存储等服务配合构建后台处理流程。本文以文档摘要应用为例,介绍异步任务、幂等处理和状态管理的设计思路,让 AI 能力更顺畅地接入业务系统。

用户上传一份文档,等待系统生成摘要,看起来只是一个简单功能。但在后台,应用需要读取文件、提取正文、调用模型、保存结果,并让用户查询处理进度。如果所有步骤都放在一次 HTTP 请求中,文件较大或模型响应较慢时,用户就可能长时间等待,甚至遇到请求超时。

一种可行的设计,是将上传与处理拆开:前端完成文件提交,后台根据事件启动任务,用户通过任务编号查询结果。

华为云 FunctionGraph 是一项基于事件驱动的函数托管计算服务。开发者编写处理逻辑,平台负责托管执行环境。它可以用于文件处理、数据加工和其他后台任务。官方产品介绍

在文档摘要场景中,可以由文件上传事件启动处理。 用户将文档上传至对象存储服务 OBS 后,通过配置触发器调用函数。函数读取事件中的对象信息,再获取文件并执行后续逻辑。FunctionGraph 官方文档提供了 OBS 对象创建、删除等事件的处理说明。官方触发器文档

一个应用设计示例可以按以下流程展开:

  1. 创建任务:生成业务任务编号,记录待处理状态,并关联上传文件。
  2. 解析文档:函数读取文件,提取正文,检查内容是否为空或格式是否受支持。
  3. 调用模型:根据摘要要求组织输入,调用独立部署的模型服务。
  4. 保存结果:记录摘要、完成时间及必要的处理信息。
  5. 展示进度:前端查询任务状态,在完成后显示结果。

这里,FunctionGraph 承担的是事件响应和业务处理逻辑;模型推理可以由其他服务提供。官方也提供使用 HTTP 函数、自定义镜像及 GPU 资源构建模型推理服务的路径,具体选型应结合模型和运行环境要求。官方函数类型选型

异步处理需要明确区分“已接收”和“已完成”。 接口返回成功,可能只代表任务已经提交,并不意味着摘要已经生成。因此,业务系统应维护待处理、处理中、已完成和失败等状态,避免让用户将上传成功误认为处理成功。

如果下游模型服务本身采用异步作业方式,可以在提交后保存作业编号,由后续查询或回调推进任务,无需让同一次函数执行持续等待。

重试还需要配合幂等设计。 当任务失败后重新执行,或者同一事件被重复处理时,应用应避免重复调用模型、重复写入结果。可以使用业务任务编号作为唯一标识,并通过数据库唯一约束或原子状态更新控制执行。同一个文件重新生成摘要时,则应创建新的任务版本,区分正常重做与重复事件。

文档较长时,还需要设计内容分段与汇总策略。每段摘要应保留原文位置,最终汇总时检查主题是否遗漏、数字是否一致。任务记录中可以保存提示词版本和模型版本,便于解释不同批次结果为何发生变化。

上线验证可以覆盖正常文档、空文件、损坏文件、模型超时和重复提交等情况,同时记录各阶段耗时。这样,当用户反馈“摘要迟迟没有生成”时,团队能够判断问题出在文件解析、模型调用还是结果保存,并针对具体环节改进。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。