我们团队被亚马逊选为北美Top20最佳AI初创公司,分享核心方案和代码!

大家好我是小李哥,本名叫李少奕,我目前在​北美金融行业的​一家AI初创公司担任云计算负责人,负责设计和实施AI SaaS服务的云架构以及AI安全解决方案。我们也非常幸运被亚马逊云科技(AWS)选为了北美地区的Top20家(全球80家)最佳AI初创Startups公司,入选了亚马逊云科技全球生成式AI创业孵化器,被亚马逊云科技官网、领英和多家媒体官方报道。

海外媒体报道:

我们的初创公司所在的行业是餐饮软件与互联网行业, 主要为餐馆和ISV提供对话式生成式AI客服工具,帮助餐厅处理客户的点餐、订座请求,以及帮助客户回答有关餐厅的相关问题。特别感谢亚马逊云科技初创Startups投资团队给我们的大力支持,在去年的亚马逊全球AI初创公司峰会里,我们还和亚马逊全球CEO Andy Jassy进行现场交流,得到了他对我们项目非常多的建议和指导。

今天小李哥将会重点介绍我们入选北美Top20最佳初创公司所使用的云端AI架构技术方案,希望帮助到更多的AI创业者和社区开发者。欢迎大家与我交流技术和AI行业经验,共同学习、成长!由于我们是一家隐形创业公司,我们会以亚马逊云科技类似场景的技术解决方案为案例进行介绍,欢迎大家关注我,不要错过未来更多的海外前沿AI解决方案和行业动态。

亚马逊云科技全球AI创业孵化器是什么?

亚马逊云科技全球AI创业孵化器是亚马逊和英伟达、Meta、Mistral AI合作,为全球优秀的AI初创公司提供的为期10周的创业加速项目,帮助他们将创新技术投入市场,提供创业导师、提供全球渠道和风投资源、业务拓展支持、技术指导、资金等支持,最终帮助这些AI初创团队深度赋能、技术创新,在商业上取得成功。像Hugging Face、爱奇艺、airbnb、Stripe、Perplexity、WIZ都是亚马逊云科技全球AI初创公司项目的成员。

AI餐饮客服解决方案介绍

我们的解决方案采用了AI聊天服务 - Amazon Lex、AI模型托管服务 - Amazon Bedrock和AI知识库 - Amazon Bedrock Knowledge Bases。Amazon Lex是一款全托管AI服务,提供语音对话的AI服务支持。Amazon Bedrock提供全托管的来自全球领先AI公司和Amazon自家的(Amazon Nova)多种AI基础模型 (FM)。用户可以根据自己的应用场景,选择适合其业务的基础模型,且只需通过API即可非常便捷的调用模型,无需维护庞大的云基础设施。Amazon Bedrock Knowledge Bases是一款使用RAG将大语言模型 (LLM) 连接到数据源的全托管服务。该方案是一个完全无服务器的架构,向量库采用Amazon OpenSearch Serverless,可运行PB级工作负载,且无需自己管理底层基础设施。

我们的解决方案每天能够处理数十万通电话,能在2.5秒内回答客户提出的问题。它还支持自动测试、对话分析、监控和可观察性以及大语言模型 (LLM) 幻觉预防和检测等功能。下图展示了我们解决方案的架构。

对话示例

当用户打电话接入Amazon Connect呼叫中心时,我们集成了Amazon Bedrock上的AI大模型的聊天工具Amazon Lex与客户询问菜单的对话的示例如下:

客户:有儿童菜单吗?

座席:田纳西州鸽子谷 Example Corp Family Getaways 度假村提供适合家庭的餐饮选择,包括专门的儿童菜单,有披萨、鸡块、通心粉和奶酪等美食。

架构图详细解释

我们的产品方案主要流程如下:

1. 用户的电话接入Amazon Connect呼叫中心,利用语音识别服务ASR,将用户的对话转为文字。

2. 文字内容通过与Amazon Connect呼叫中心集成的对话机器人Amazon Lex进行交互,将文字内容发送到Amazon Bedrock Agent智能代理。

3. 对于用户问题,智能代理会首先查询RAG知识库中的向量库,将相应的文字答案返回。

4. 对于用户的点餐和订座请求,AI智能代理会通过函数工具调用餐厅的POS系统。

5. Lambda函数会将Amazon Bedrock AI大语言模型返回的文字返回对话机器人Amazon Lex。

6. 对话机器人Amazon Lex将文字内容返回到Amazon Connect呼叫中心,利用文字转语音服务TTS,将最终的语音内容播放给用户。

云端解决方案主要的技术组件

以下是部署和测试我们用的解决方案的主要组件:

1. 一个用来创建Amazon Bedrock知识库的IaC基础设施搭建脚本。该Amazon Bedrock知识库存储AI代理回答用户问题所需要的和餐厅有关的指示内容。

2. 一个用来创建Amazon Lex对话机器人​和AWS Lambda应用函数的IaC基础设施搭建脚本,用于实现核心检索增强生成 (RAG) 问答功能。

3. 一个用来部署数据管道以展示对话分析数据面板的IaC基础设施搭建脚本(可选)。

4. 一个用来实现异步大语言模型幻觉检测功能的IaC基础设施搭建脚本(可选)。

大家可以通过亚马逊云科技官方的Github代码库获取

方案实操介绍

前提条件

大家需要有一个亚马逊云科技海外区账户、拥有相关服务权限的AWS IAM角色和用户、以及创建和管理该该方案所需云资源和组件的权限。该解决方案使用Amazon Bedrock上的大语言模型从知识库中查找问题的答案。在实验实操之前,请在Amazon Bedrock上开启以下的Amazon Bedrock上的AI模型:

  • Amazon Titan Embeddings G1 – Text
  • Cohere Embed English v3和Cohere Embed Multilingual v3
  • Anthropic Claude 3 Haiku和Anthropic Claude 3 Sonnet

如果要与Amazon Connect呼叫中心集成,请确保大家的账户中已创建可用的Amazon Connect通话中心。如果没有,请先创建Amazon Connect通话中心。

部署Amazon Bedrock知识库

我们可以使用Github中的IaC基础设施搭建脚本模板来创建Amazon Bedroc 知识库实例,并使用 Amazon S3存储桶作为数据源。大家按照以下步骤建立知识库:

1. 登录亚马逊云科技海外区账户,点击以下Launch Stack(启动堆栈)按钮,去部署IaC基础设施搭建脚本 - AWS CloudFormation模板:

 2. 输入堆栈名称,例如contact-center-kb。

 3. 输入已有的S3存储桶名称,例如contact-center-kb- (你的账号名称)。该存储桶将存储本解决方案内的知识文档内容。如果没有S3存储桶,需要创建一个。

 4. 选择嵌入模型,例如amazon.titan-embed-text-v2:0。

 5. 选择知识库Fixed-sized chunking(固定大小分块)作为向量分块策略。

 6. 如果使用Amazon Titan向量嵌入AI模型,每个块条目的最大令牌数设置为600。(如果使用 Cohere嵌入模型,可以设置为512)。这个token数量表示大约一整页的文本。

 7. 设置向量分割重叠百分比为10%。

 8. 将Index Details(索引详情)的四个配置(索引名称、向量字段名称、元数据字段名称和文本字段名称)保留为默认值。

 9. 单击下一步。

 10. 在配置堆栈选项页面中,单击下一步。

 11. 在最后确认并创建页面上,添加IAM权限,然后单击Submit提交完成创建。

整个IaC基础设施创建大约需要10分钟。

上传商户相关的知识文档并测试知识库

我们的解决方案部署中,会包括一个名为restaurant-bot的对话机器人。该机器人基于大语言模型,回答有关餐厅的先关的问题。你需要将该餐馆的信息文档上传到到知识库栈关联的S3存储桶中。你可以在IaC基础设施脚本的的Outputs输出里找到IaC基础设施脚本AWS CloudFormation使用的S3存储桶信息。

1. 我们使用AWS CLI或亚马逊云科技控制台,上传来自GitHub代码库content目录下的如下文件夹:
corporate
family-getaways
luxury-suites
party-times
seaside-resorts
waypoint-inns

我们可以选择上传PDF版本或Word文档版本(推荐 Word 版本)。上传完成后,S3存储桶中将列出六个文件夹,每个文件夹包含一个Word或PDF文档。

 2. 在Amazon Bedrock控制台上的导航栏中,选择Knowledge bases知识库。

 3. 选择新创建的知识库,并打开该知识库。

此时在界面中大家将收到一条消息:“One or more data sources have not been synced.”(一个或多个数据源尚未同步)。

 4. 选择我们需要同步的数据源,然后选择Sync同步。同步过程只需一两分钟。

 5. 同步数据源后,我们会在Amazon Bedrock控制台上对模型Agent代理提出一系列关于餐馆的问题,测试问答效果。请大家确认已在Amazon Bedrock Model access(模型访问)页面上,启用了大家所需要的模型(Claude 3.5 Haiku)。

最后我们在Amazon Bedrock的Agent代理只能给选择Claude 3 Haiku模型,然后开始提问。我们可可以选择在上文中介绍的问题进行提问。

总结

我们的方案基于生成式AI驱动的客服中心语音电话解决方案,提供了一种可扩展、低成本的云端解决方案,利用 Amazon Bedrock、Amazon Bedrock Knowledge Bases、OpenSearch Serverless 和Amazon Lex等亚马逊云科技服务实现与用户自动问答对话。

该解决方案代码以开源形式提供,大家都可以利用该源代码构建自己的解决方案。目前源代码全部上传到GitHub仓库中,大家可以检查Change Log了解最新更改,阅读README获取最新版用户文档。最后也一定要关注小李哥,不要错过未来更多的国际前沿生成式AI技术和行业动态,欢迎大家技术交流。