GenAIInfra:OPEA 的云原生容器化套件深度解析

openlab_96bf3613 更新于 2天前

引言

OPEA 是一个开放平台项目,旨在让用户创建开放、多供应商、健壮且可组合的生成式 AI 解决方案,整合生态创新成果。

GenAIInfra 是 OPEA 子项目,目的在于提供OPEA构建的容器化与云原生套件,含部署 GenAIExamples 的构建,供企业部署到自有云。

本文介绍 GenAIInfra 的各个部分、具体功能、关键组件,还有实际应用案例。

认证和授权管理

GenAIInfra 集成了好几种身份验证协议,还能和现有的身份提供者对接,能精准管理用户身份和权限,保证只有经过授权的用户和服务才能访问 OPEA 相关资源,让系统更安全。在企业级应用里,它能有效防止没授权的访问,保护核心数据和业务流程,让企业运营安全又稳定。

基于 Istio 的云原生环境实现

工具特点:借助知名又常用的云原生工具 Istio 来增强认证和授权流程,能有效管理访问控制,让企业运营安全、高效又可靠。

集成方式:可以直接和 Keycloak 等 OIDC 提供商集成,也能用 oauth2 - proxy 等认证代理,灵活性和可扩展性都提升了。

部署支持:支持基于 Helm Chart 和 GMC 的 GenAI 工作负载部署,能根据严格或者灵活的策略处理认证和授权,适应不同的安全要求和运营需求。具体咋操作可以参考相关文档。

基于 APISIX 的云原生环境实现

工具特点:Apache APISIX 是个开源、动态、可扩展且高性能的云原生 API **,能给 API 和微服务提供流量管理解决方案,功能老多了。

功能特性:通过 openid - connect 插件对 OIDC 认证提供强力支持,能和任何 OIDC 提供商集成;还支持开发自定义插件来扩展功能。要是想了解通过 Helm Chart 部署和配置 APISIX 的更多信息,查查相关文档就行。

基于 Helm 的部署能力

功能 / 特性
灵活配置:提供好多全局和特定选项,像 HuggingFace 令牌设置、代理配置、缓存管理、模型选择这些,能满足不同场景下的部署需求。

多环境支持:支持在代理环境、特定处理器(Intel® Xeon® 搭配 Intel® TDX)等不同环境下部署,还有相应的参考文档。

资源优化:有自动扩缩容功能,能根据服务组件的使用情况动态调整 Pod 数量,让资源利用更合理。

数据持久化:支持用持久卷存储模型缓存,保证数据持久又安全。

镜像管理灵活性:既支持官方 Docker hub 镜像,也能用私有仓库镜像,方便用户根据自己的情况选。

清单生成能力:可以通过 helm template 生成 Kubernetes 清单文件,为进一步定制部署打下基础。

示例应用
chatqna:基于检索增强生成(RAG)的问答聊天机器人示例。

agentqna:用于问答应用的分层多智能体系统。

audioqna:支持音频文件的问答聊天机器人示例。

codegen:在 Visual Studio Code 中进行代码生成的 Copilot 示例。

codetrans:编程语言代码翻译示例。

docsum:文档摘要示例。

faqgen:生成常见问题解答(FAQs)的示例。

visualqna:基于图像回答开放式问题的示例。

Kubernetes 附加组件部署

可观测性
Kubernetes 附加组件部署在可观测性方面,提供了一系列监控和配置方案。

● 指标监控

Gaudi 硬件:对 Gaudi 硬件设备进行指标监控,像设备性能、使用率、温度这些都能监测。

PCM(Intel® Performance Counter Monitor):监控 PCM 相关的 CPU 指标,比如 CPU 使用率、频率、缓存命中率等。

OPEA 应用额外指标监控:监控 OPEA 应用的额外指标,像应用的响应时间、吞吐量、错误率等。

● 仪表盘管理

仪表盘导入:支持手动和脚本自动化两种方式把仪表盘导入 Grafana,还能基于现有的仪表盘创建自定义仪表盘。

仪表盘同步:保证修改仪表盘文件名的时候同步修改 uid 字段,让 Grafana 能正确识别和显示仪表盘。

资源扩展:可以从 GenAIEval 仓库下载额外的仪表盘,让可观测性监控的维度和内容更丰富。

集成 Istio

双向传输层安全协议(mTLS):保证 OPEA 工作负载之间用相互 TLS 通信,实现 Kubernetes Pod 之间的安全通信。

传输层安全协议(TLS)连接:建立 Kubernetes 入口的 TLS 连接,让外部能通过 TLS 连接到 OPEA 引擎服务。

OPEA ChatQnA 示例应用:展示了 Model Context Protocol(MCP)的实际应用,采用 Istio(环境模式)与入口**,结合 TLS 和严格的 mTLS 保障通信安全。

Cert - Manager 作用:为 Istio 入口**颁发 TLS 证书,自动化证书管理流程,确保入口**用的是有效证书,提供可靠的安全保障。

Memory bandwidth exporter

指标收集:能提供运行容器的内存带宽指标,像 llc_occupancy、mbm_local_byte***bm_total_bytes、CPU 利用率和内存使用情况等,还能提供类级别和插槽级别的指标,用户可以自己配置要收集的指标列表。

集成与数据提供:作为一个导出器,能连接到类似 Prometheus 的观测工具,也能当遥测数据提供者。

支持微服务:为 OPEA 微服务提供内存带宽的可观测性,给 OPEA 的更好扩展和自动扩展打下基础。

独立部署:可以在终端用户环境中单独部署,支持任何需要内存带宽指标的场景。

结论

GenAIInfra 为企业用户提供一套完整的云原生解决方案,用于部署和管理 GenAI 应用。其功能丰富,配置选项灵活,用户可按需选择组件和工具,构建高效、安全的 GenAI 应用环境。在性能优化、微服务编排、安全认证、代码管理和资源清理等方面表现出色,为企业级 GenAI 应用部署提供坚实保障。随着云原生技术发展,GenAIInfra 将持续更新完善,为用户创造更多价值。

0个评论