亚马逊AWS官方博客

AWS Generative AI Use Cases:“开箱即用的企业级生成式AI应用平台”

从零开始构建企业级生成式AI应用面临诸多技术挑战:模型选择与集成复杂、安全合规要求严格、开发周期长、维护成本高。AI应用开发需要深厚的机器学习背景、复杂的基础设施搭建,以及大量的前端开发工作。

为解决这些痛点,2023年AWS Japan的志愿者团队开发并开源了Generative AI Use Cases(简称GenU)项目。作为”客户生成式AI活用促进支持”的重要组成部分,GenU是一个基于Amazon Bedrock构建的企业级生成式AI应用解决方案。

GenU的诞生背景:

  • 2023年初:启动项目,旨在提供“立即可用的生成式AI用例集”
  • 持续进化:紧跟Amazon Bedrock新功能,不断扩充新用例
  • 2024年11月:发布“用例构建器”,实现无代码AI应用开发
  • 全球影响:从日本本土项目扩展为全球开源项目,获得1.1k+ stars
  • 多语言版本:最新版本已经支持中日英语言

GenU提供14种开箱即用的AI用例,涵盖对话、文档处理、多媒体生成、业务自动化等场景。特别是Use Case Builder无代码开发环境,让非技术人员也能创建定制AI应用。

[Gen用例]

产品特性与架构

丰富的AI用例库

基础对话类

  • Chat:支持多轮对话的智能聊天,可快速响应各种业务咨询
  • RAG Chat:基于企业内部文档的检索增强生成,实现知识库问答
  • Agent Chat:通过API集成外部系统,执行复杂的业务任务
  • Voice Chat:双向语音对话,支持实时中断和角色设定(英语对话)

[智能聊天]

内容处理类

  • Summarize:智能文档摘要和关键信息提取
  • Translation:多语言翻译,支持上下文和专业术语
  • Writing:写作辅助和文档校对
  • Text Generation生成商务文档,包括文章、报告和电子邮件
  • Video Analysis:通过摄像头分析视频内容

[写作助手]

多媒体生成类

  • Image Generation:基于文本描述生成图像
  • Video Generation:文本到视频的内容创作
  • Diagram Generation:自动生成流程图、架构图等技术图表

[图像生成助手]

[视频生成助手]

业务自动化类

  • Meeting Minutes Generation:会议录音自动转换为结构化纪要
  • Web Content Extraction:网页内容智能提取和格式化

[会议实时转录和纪要生成]

用例构建器:无代码AI应用开发

GenU的核心创新是用例构建器(Use Case Builder),这是一个无代码的AI应用开发环境,让非技术人员也能创建定制化的AI应用。

[构建者模式]

核心特性:

  • 占位符语法:通过 {{text:标签}} 和 {{file:标签}} 语法自动生成用户界面
  • 自动UI生成:根据提示模板中的占位符自动创建输入表单
  • 无需代码修改:完全通过自然语言描述创建用例,无需修改GenU代码
  • 共享机制:创建的用例可与所有登录用户共享,支持.json格式导入导出

[定制化的AI应用:创建问卷问题和选项]

系统架构设计

GenU采用现代化的无服务器架构,确保高可用性和弹性扩展:

核心组件

  • AWS Lambda处理业务逻辑
  • Amazon API Gateway
  • Amazon DynamoDB存储用户数据和配置信息
  • Amazon S3存储文件和静态资源
  • Amazon Cognito User Pool管理用户身份
  • Amazon CloudFront + AWS WAF
  • Amazon Transcribe实现语音转文字
  • Amazon Polly提供文字转语音

[GenU系统架构]

Amazon Bedrock集成

GenU的核心优势在于与Amazon Bedrock的深度集成,提供业界领先的基础模型选择::

文本生成模型

  • Anthropic Claude系列
  • Amazon Nova系列
  • DeepSeek R1系列
  • Meta Llama系列

多媒体模型

  • 图像生成:Amazon Nova Canvas、Stability AI系列
  • 视频生成:Amazon Nova Reel、Luma Ray等
  • 语音处理:Amazon Nova Sonic语音合成

[Bedrock提供广泛的模型选择]

模型调用: 通过Lambda函数封装Bedrock API调用,支持跨区域模型访问:

// Bedrock API调用实现
const bedrockApi = {
  // 一次性获取完整响应
  invoke: async (model, messages, id) => {
    const client = await initBedrockRuntimeClient({ region: model.region });
    const command = new ConverseCommand(createConverseCommandInput(model, messages, id));
    return extractConverseOutput(model, await client.send(command)).text;
  },
  
  // 实时流式响应
  invokeStream: async function* (model, messages, id) {
    const client = await initBedrockRuntimeClient({ region: model.region });
    const command = new ConverseStreamCommand(createConverseStreamCommandInput(model, messages, id));
    const responseStream = await client.send(command);
    
    for await (const response of responseStream.stream) {
      yield streamingChunk({ text: extractConverseStreamOutput(model, response).text });
    }
  }
};

参考:https://github.com/aws-samples/generative-ai-use-cases/blob/main/packages/cdk/lambda/utils/bedrockApi.ts

灵活的配置管理系统

// packages/cdk/parameter.ts 
  dev: {
    ragEnabled: false,
    agentEnabled: false,
  },
  prod: {
    ragEnabled: true,
    agentEnabled: true,
    selfSignUpEnabled: false, // 生产环境禁用自注册
  },
};

丰富的安全配置选项

访问控制

  • 邮箱域名限制:`allowedSignUpEmailDomains` 邮箱注册
  • IP地址限制:通过AWS WAF限制访问来源IP
  • 地理位置限制:基于地理位置访问控制
  • 自注册控制:`selfSignUpEnabled` 控制用户自注册

身份认证集成

  • Amazon Cognito用户池管理
  • SAML 2.0企业SSO集成(支持Google Workspace、Microsoft Entra ID)
  • 多因素认证支持
  selfSignUpEnabled: false,           // 禁用自注册
  allowedSignUpEmailDomains: ['company.com'], // 限制企业邮箱
  allowedIpV4AddressRanges: ['192.168.0.0/24'], // IP限制
  samlAuthEnabled: true,              // 启用SAML认证

[Web方式登陆]

集成RAG(检索增强生成)功能

GenU的RAG共,支持Amazon Kendra和Knowledge Base两种数据源。

/// RAG配置
  ragKnowledgeBaseEnabled: true,
  ragKnowledgeBaseAdvancedParsing: true,  // 高级文档解析
  queryDecompositionEnabled: true,        // 复杂查询分解
  rerankingModelId: "amazon.rerank-v1:0", // 搜索结果重排序模型

[RAG相关组件]

智能Agent生态系统

GenU支持内置的Web搜索和代码解释Agent,也支持导入Bedrock Agent,还支持MCP。

[Bedrock Agents]

// 启用Agent功能的完整配置
{
  agentEnabled: true,                    // 启用Agent功能总开关
  searchAgentEnabled: true,              // 启用Web搜索Agent
  searchEngine: "Brave",                 // 搜索引擎选择(Brave/Tavily)
  searchApiKey: "your-api-key",          // 搜索服务API密钥
  agents: [                               // === 自定义Agent导入 ===
    {
      displayName: "企业知识助手",        // Agent在界面中的显示名称
      agentId: "AGENT123456",            // Bedrock Agent的唯一标识
      aliasId: "ALIAS123456"               // Agent别名ID
    }
  ],
  inlineAgents: true,                    // 在主界面内联显示Agent
  mcpEnabled: true                       // 启用MCP协议连接外部服务
}

[在GenU中集成Bedrock Agents]

Token使用情况

查看使用情况和Model的Token消耗记录

[Statistics]

部署指南

快速部署

GenU提供多种部署方式,支持不同的技术背景和需求

最简单的是使用AWS CloudShell一键部署(推荐)

# 在CloudShell中下载部署脚本
wget https://raw.githubusercontent.com/aws-samples/generative-ai-use-cases/refs/heads/main/deploy.sh -O deploy.sh
chmod +x deploy.sh
# 执行部署
./deploy.sh

部署前置要求

  • 在Amazon Bedrock控制台启用所需模型
  • 确保AWS账户具备CDK部署权限
  • 部署时间约10-20分钟

[部署信息]

定制化部署

GenU通过cdk.json和parameter.ts提供了企业级的配置管理能力,支持多环境部署和高级功能定制::

"context": {
    "ragEnabled": true,                    // 启用RAG功能
    "agentEnabled": true,                  // 启用Agent功能
    "selfSignUpEnabled": false,            // 禁用自注册
    "allowedSignUpEmailDomains": ["company.com"], // 限制注册域名
    "samlAuthEnabled": true,               // 启用SAML认证
    "allowedIpV4AddressRanges": ["10.0.0.0/8"], // IP访问限制
    "allowedCountryCodes": ["US", "JP"]    // 地理位置限制
  }

方式二:packages/cdk/parameter.ts多环境配置

dev: {
    ragEnabled: false,
    agentEnabled: false,
    selfSignUpEnabled: true,        // 开发环境允许自注册
    allowedSignUpEmailDomains: []   // 无域名限制
  },
  staging: {
    ragEnabled: true,
    agentEnabled: false,
    selfSignUpEnabled: false,
    allowedSignUpEmailDomains: ["company.com"]
  },
  prod: {
    ragEnabled: true,
    agentEnabled: true,
    selfSignUpEnabled: false,       // 生产环境禁用自注册
    allowedSignUpEmailDomains: ["company.com"],
    allowedIpV4AddressRanges: ["10.0.0.0/8"],
    samlAuthEnabled: true
  }

指定环境的升级部署和功能定制

针对特定环境做版本升级,可定制化启用或屏蔽功能

# 对dev环境做更新,使用~/parameter.ts配置文件
./deploy.sh --parameter-file ~/parameter.ts --env dev
# ~/parameter.ts配置文件中,禁用RAG,禁用Agent
  dev: {
	  ……….
    ragEnabled: false,
    agentEnabled: false,
	  ………
  },

总结

AWS Generative AI Use Cases (GenU)提供一个完整的生成式AI应用解决方案。通过开箱即用的用例库、无代码开发环境和企业级安全架构,大大降低了企业采用生成式AI的技术门槛和成本。

GenU项目在GitHub上持续活跃更新,拥有1.1k stars和309 forks,得到了全球开发者社区的广泛认可。对于希望快速构建企业级生成式AI应用的组织,GenU提供了一个理想的起点。

[GenU持续更新]

相关资源

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

丁有冬

亚马逊云科技合作伙伴解决方案架构师,在企业架构设计、咨询服务以及项目管理方面具有丰富的实践经验。目前主要负责 AWS(中国)合作伙伴的方案架构咨询和设计工作,致力于 AWS 云服务在国内的应用推广以及帮助合作伙伴构建更高效的 AWS 云服务解决方案。