在鸿蒙(HarmonyOS)生态中实现长文档自动提炼核心观点,系统提供了从原生开箱即用到深度代码集成的多种方案。开发者可以根据业务场景的复杂度和定制化需求,选择以下三种核心路径:

方案一:利用系统原生“小艺文档搭子”(开箱即用)

对于普通用户或希望快速实现文档处理的场景,鸿蒙系统内置的“小艺文档搭子”智能体提供了强大的原生支持。

  • 核心特性
    • 多格式支持:支持对 PDF、Word、PPT、TXT 以及网页链接进行解析。
    • 智能提炼:能够秒级提炼万字长文的核心观点,生成结构化摘要,并支持基于原文内容的追问问答。
    • 可视化呈现:支持将文档内容自动总结为思维导图(.emmx格式),将复杂的逻辑关系直观可视化。
    • 跨语言处理:支持全英文专业文献的全文翻译、保留原文格式的对照模式以及核心观点提炼。
  • 交互方式:用户可通过长按小艺导航条、拖拽文档至小艺面板,或右键选择“问问小艺”等方式快速唤起摘要功能。

方案二:集成端侧大模型实现本地摘要(高隐私、低延迟)

对于涉及商业机密或个人隐私的文档处理,鸿蒙支持将轻量化大模型部署在设备端,实现完全离线的文档摘要。

  • 核心特性
    • 数据不出端:文档解析与摘要生成均在本地 NPU 隔离区域内完成,从底层保障数据隐私安全。
    • 秒级响应:结合鸿蒙分布式文件系统与端侧摘要模型,冗长的合同或报告可在秒级内提炼出核心要点(如生成 500 字精简版)。
    • 智能文件管理:结合本地大模型驱动的文档摘要功能,系统可实现“文件找人”,根据关键词自动聚合相关内容并推荐关联文档。
  • 开发接入:开发者可通过鸿蒙的 AI 引擎(HAE)调用端侧模型能力,利用多线程调度(TaskPool)进行异步并发解析,避免单线程阻塞影响 UI 流畅度。

方案三:云端大模型 API 深度集成(复杂推理与定制化)

针对超长上下文、复杂逻辑推理或需要生成特定格式报告的企业级应用,推荐通过云端大模型 API 进行处理。

  • 核心特性
    • 深度语义理解:云端大模型具备更强的长文本理解能力,可自动去重、合并多页资料,生成包含数据对比、趋势分析的完整精简报告。
    • 灵活的工作流:支持将文档处理拆解为“提取要点 → 数据分析 → 生成大纲 → 润色排版”等多步骤工作流。
  • 开发接入
    • 在 ArkTS 中,可使用 @ohos.net.http 模块发起 POST 请求,将文档内容或解析后的文本发送至云端大模型 API(如 DeepSeek、盘古大模型等)。
    • 为提升性能,建议采用动态算力调度策略,根据设备状态和网络环境自动在“端侧轻量模型”与“云端复杂推理”之间进行无缝路由切换。

一、 核心架构:小艺文档助理 Agent 与思维导图生成

对于开箱即用的场景,系统内置的“小艺文档助理”不仅支持摘要,还支持基于文档的深度问答与结构化输出。

  1. 多格式无损解析:支持 PDF、Word、PPT、Excel、TXT、EPUB 以及 CSV 等主流格式(PDF/Word/PPT 限制 150M,Excel 限制 30M),甚至支持直接传入 arxiv.org 的学术论文链接进行解析。
  2. 结构化可视化:系统不仅输出纯文本摘要,还能自动将万字长文提炼为 .emmx 格式的思维导图。开发者可通过调用 亿图脑图MindMaster 等组件直接渲染,实现复杂逻辑的直观呈现。
  3. 沉浸式文档问答:触发摘要后,系统自动进入“文档问答”模式。输入框上方会悬浮文档卡片,支持基于原文上下文的连续多轮追问,确保信息提取的精准度。

二、 端侧高隐私架构:动态稀疏化与 NPU 异构调度

针对高隐私商业合同或内部研报,利用鸿蒙端侧 AI 引擎(HAE)与 MindSpore Lite 实现数据绝对不出端。

  1. 动态稀疏化技术:相比传统的静态剪枝,鸿蒙端侧模型采用动态稀疏化技术,在运行时实时分析激活模式,动态关闭非关键计算路径。实测可将 175 亿参数模型的内存占用从 68GB 降至 48GB,且精度损失控制在 0.8% 以内。
  2. ArkData 智慧数据底座:结合端侧向量数据库,实现十亿级向量检索(Recall@10 = 98.7%)。对于本地文档,端侧模型可快速提取特征向量,实现“文件找人”的语义级搜索。
  3. 异步并发防卡顿:文档解析属于 CPU/NPU 密集型任务,必须通过 TaskPool 或 Worker 进行异步处理,严禁阻塞主 UI 线程,保障编辑界面的 60fps 流畅度。

三、 云端深度推理:100万 Tokens 上下文与多模态解析

对于超长行业研报、数十篇论文对比或包含图表的复杂文档,端侧算力受限时,需无缝路由至云端大模型。

  1. 超长上下文无损处理:接入支持 100万 Tokens 上下文窗口的模型(如 Kimi K3),可一次性完整读取几十万字的合同或整本教材,全程不丢失前文逻辑,连贯完成总结、拆解、校对全流程。
  2. 多模态图文联合解读:云端模型不仅处理纯文本,还能直接解析试卷、图纸、报表截图。结合鸿蒙的 OCR 能力,将图片中的表格数据提取后,交由大模型进行数理推导或趋势分析。
  3. 端云动态路由策略:应用层需实现智能网关。若文档小于 3M 且无敏感标识,优先走端侧盘古 Lite 模型(<300ms 响应);若检测到超长文本或复杂图表,自动通过 @ohos.net.http 路由至云端 API 处理。

四、 高阶实战:端云协同文档摘要管理器代码闭环

// DocumentSummaryManager.ets:端云协同文档摘要引擎
import { http } from '@ohos.net.http';
import { taskpool } from '@kit.ArkTS';

export class DocumentSummaryManager {
  
  // 1. 核心路由:根据文档大小与敏感度选择处理引擎
  async summarizeDocument(filePath: string, fileSize: number, isSensitive: boolean): Promise<string> {
    // 策略:敏感数据或小于 3M 的常规文档,走端侧 NPU 推理
    if (isSensitive || fileSize < 3 * 1024 * 1024) {
      return await this.processOnDevice(filePath);
    }
    // 策略:超长文档或复杂推理,路由至云端 100万 Tokens 模型
    return await this.processOnCloud(filePath);
  }

  // 2. 端侧处理:异步加载动态稀疏化模型,保障 UI 不卡顿
  @Concurrent
  async processOnDevice(filePath: string): Promise<string> {
    // 调用鸿蒙 AI Engine 或 MindSpore Lite 进行本地摘要
    // const summary = await localAIEngine.generateSummary(filePath);
    return `[端侧安全摘要] 核心观点提炼完成...`;
  }

  // 3. 云端处理:发起 HTTP POST 请求,支持超长上下文
  async processOnCloud(filePath: string): Promise<string> {
    const httpReq = http.createHttp();
    const resp = await httpReq.request('https://{cloud-api-url}/v1/document/summarize', {
      method: http.RequestMethod.POST,
      header: { 
        'Content-Type': 'application/json',
        'X-Apig-Appcode': 'YOUR_API_KEY' 
      },
      extraData: JSON.stringify({
        file_path: filePath,
        output_format: 'mindmap_and_summary', // 请求返回摘要及思维导图结构
        max_tokens: 100000
      })
    });
    
    if (resp.responseCode === 200) {
      return JSON.parse(resp.result as string).summary;
    }
    throw new Error('云端文档解析失败');
  }
}

五、 核心引擎:端云协同文档摘要管理器

实现根据文件大小与隐私级别,自动在本地 NPU 与云端大模型之间进行路由调度。

// DocumentSummaryManager.ets:端云协同文档摘要引擎
import { http } from '@ohos.net.http';
import { taskpool } from '@kit.ArkTS';

export class DocumentSummaryManager {
  
  // 1. 核心路由:根据文档大小与敏感度动态选择处理引擎
  async summarizeDocument(filePath: string, fileSize: number, isSensitive: boolean): Promise<string> {
    // 策略:敏感数据或小于 3M 的常规文档,走端侧 NPU 推理(保障隐私与低延迟)
    if (isSensitive || fileSize < 3 * 1024 * 1024) {
      return await this.processOnDevice(filePath);
    }
    // 策略:超长文档或复杂推理,路由至云端 100万 Tokens 模型
    return await this.processOnCloud(filePath);
  }

  // 2. 端侧处理:利用 @Concurrent 在 Worker 线程异步加载模型,保障 UI 不卡顿
  @Concurrent
  async processOnDevice(filePath: string): Promise<string> {
    // 调用鸿蒙 AI Engine 或 MindSpore Lite 进行本地摘要
    // const summary = await localAIEngine.generateSummary(filePath);
    return `[端侧安全摘要] 核心观点提炼完成,耗时 < 300ms...`;
  }

  // 3. 云端处理:发起 HTTP POST 请求,支持超长上下文与结构化输出
  async processOnCloud(filePath: string): Promise<string> {
    const httpReq = http.createHttp();
    const resp = await httpReq.request('https://{cloud-api-url}/v1/document/summarize', {
      method: http.RequestMethod.POST,
      header: { 
        'Content-Type': 'application/json',
        'X-Apig-Appcode': 'YOUR_API_KEY' // 推荐使用 API Key 鉴权
      },
      extraData: JSON.stringify({
        file_path: filePath,
        output_format: 'mindmap_and_summary', // 请求返回摘要及思维导图结构
        max_tokens: 100000
      })
    });
    
    if (resp.responseCode === 200) {
      return JSON.parse(resp.result as string).summary;
    }
    throw new Error('云端文档解析失败');
  }
}

六、 UI 层:响应式状态管理与交互

将摘要引擎与 ArkUI 状态管理结合,实现加载态、成功态与错误态的无缝切换。

// DocumentReaderPage.ets:文档阅读器与摘要交互页面
import { DocumentSummaryManager } from './DocumentSummaryManager';

@Entry
@Component
struct DocumentReaderPage {
  @State summaryText: string = '';
  @State isLoading: boolean = false;
  private summaryManager: DocumentSummaryManager = new DocumentSummaryManager();

  // 触发摘要提炼
  async handleSummarize(filePath: string, fileSize: number) {
    this.isLoading = true;
    this.summaryText = '';
    try {
      // 假设当前文档为公开资料,非敏感数据
      const result = await this.summaryManager.summarizeDocument(filePath, fileSize, false);
      this.summaryText = result;
    } catch (err) {
      this.summaryText = `摘要生成失败:${err.message}`;
    } finally {
      this.isLoading = false;
    }
  }

  build() {
    Column() {
      // 1. 触发按钮
      Button('提炼核心观点')
        .onClick(() => this.handleSummarize('/docs/report.pdf', 5 * 1024 * 1024))
        .enabled(!this.isLoading)

      // 2. 加载状态指示
      if (this.isLoading) {
        LoadingProgress().margin({ top: 20 })
        Text('AI 正在深度阅读...').fontSize(14).fontColor('#999').margin({ top: 10 })
      }

      // 3. 摘要结果展示区
      if (this.summaryText) {
        Text(this.summaryText)
          .fontSize(16)
          .lineHeight(28)
          .margin({ top: 20 })
          .padding(15)
          .backgroundColor('#F5F5F5')
          .borderRadius(8)
          .width('100%')
      }
    }
    .width('100%')
    .height('100%')
    .padding(20)
  }
}
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐