使用 .NET Aspire 构建 AI 驱动的分布式系统:集成 PostgreSQL、Redis、RabbitMQ、Keycloak、Ollama 和 VectorDB。

您将会学到

  • 使用.NET Aspire 和 GenAI 开发人工智能驱动的分布式架构
  • 云原生分布式架构
  • .NET Aspire 框架用于云原生分布式应用程序开发
  • 使用.NET Aspire 构建 EShop 分布式微服务架构
  • 消息和事件驱动模式与 RabbitMQ
  • 使用 PostgreSQL 在.NET Aspire 中开发目录微服务
  • 使用 Redis 在.NET Aspire 中开发购物车微服务
  • 使用.NET Aspire 服务发现同步目录-购物车之间的通信
  • 异步通信与 RabbitMQ 和 MassTransit 编排.NET Aspire
  • 使用 Keycloak 认证的 Secure Basket 编排.NET Aspire
  • 开发 Client Blazor Web 应用程序
  • Azure 容器应用
  • 部署 EShop Aspire 项目到 Azure 容器应用
  • 使用 Microsoft 扩展 AI 和语义内核的 .NET GenAI

课程要求

C#和编程基础知识

课程描述

本课程将指导我们如何运用 .NET Aspire 框架来设计和构建云原生的分布式架构,同时通过 Microsoft-Extensions-AI 和 Semantic Kernel 整合生成式人工智能(GenAI)技术。

从微服务基础知识到高级人工智能驱动功能,您将获得实际操作经验,构建一个 E-Shop 系统,其中目录和购物车微服务通过 PostgreSQL、Redis 和 RabbitMQ 进行消息传递,协同工作。

你还将了解到如何集成智能功能,如问答聊天机器人和基于语义的产品搜索,这些功能由 Ollama 的 Llama/Phi 模型及 RAG(检索增强生成)流程驱动。

云原生分布式架构核心要点

深入探索微服务架构、容器化技术以及十二因素应用方法。学习弹性、可扩展性和 DevOps 工作流程的最佳实践方法。

.NET Aspire 框架用于云原生应用开发

理解 .NET Aspire 如何简化分布式服务的构建过程。创建新项目、管理配置,并整合日志记录、可观察性等跨领域关注点。

配备 PostgreSQL 和 RabbitMQ 的目录微服务

使用 PostgreSQL 存储和管理产品数据。将集成事件(如 ProductPriceChanged)发布到 RabbitMQ。

带有 Redis 的购物车微服务

使用 Redis 保持快速、基于会话的数据。向购物车添加商品时,会与目录服务同步。通过 RabbitMQ 消费集成事件,确保购物车价格实时更新。使用 Keycloak 和 JWT Bearer 令牌来保护安全购物车端点。

基于 RabbitMQ 的消息传递与事件驱动模式

探索发布/订阅模式、交换机、路由键和处理重试的最佳实践。实施完善的错误管理,并保证微服务间稳定的事件驱动交互。

部署、安全与可观测性

将微服务进行容器化,然后通过 azd up 和 azd down 命令部署到 Azure Container Apps 上。按照 .NET Aspire 的项目结构进行操作,以实现 CI/CD 工作流的简化。

.NET GenAI 基础入门及 Semantic Kernel 介绍

了解生成式 AI 和大型语言模型(LLMs)的基础。集成 Microsoft-Extensions-AI 和 Semantic Kernel,以驱动高级 AI 功能。

Ollama、Llama 和 Phi 模型配置

本地安装并配置 Ollama,或通过容器进行安装和配置。直接在 .NET 微服务内运行 Llama 或 Phi 模型进行推理。

电商平台中的 GenAI 应用案例

客户服务问答聊天机器人

借助语义内核和提示工程,实现具有上下文感知能力的问答系统。集成 Ollama,为用户提供实时问题解答。

产品语义搜索结合向量存储(RAG 流程)

使用 Ollama 的 All-MiniLM 模型为产品数据生成嵌入向量。利用向量数据库进行产品检索、排序,并提供个性化推荐。

通过本课程的学习,你将能够成功构建一个功能完备、由 AI 赋能的在线商店平台,充分展现事件驱动型微服务与.NET Aspire 及 GenAI 结合所展现出的强大能力。

适合人群

所有级别的.NET 开发者,对.NET Aspire 和 GenAI 感兴趣

声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。