自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 使用 Run:ai Model Streamer 实现模型的高效加载

的底层采用高性能的 C++ 实现,旨在加速将模型加载到 GPU 的过程,支持来自各种存储类型(如网络文件系统、S3、本地磁盘等)的模型文件。除了性能之外,Run:ai Model Streamer 还提供了 Python SDK,方便集成到现有的推理引擎中(如 vLLM)。Run:ai Model Streamer 通过使用多线程机制,同时从文件中读取张量数据并将其加载到 CPU 内存中的专用缓冲区中。

2025-06-05 17:52:21 596

原创 OpenTelemetry × Elastic Observability 系列(一):整体架构介绍

本文介绍了 OpenTelemetry Demo 的整体架构,并演示了如何借助 Elastic Observability 实现链路追踪、日志与指标的统一观测。这是 OpenTelemetry × Elastic Observability 实践系列的第一篇文章,在后续的文章中,我们将深入探讨不同编程语言(如 Java、Go、Node.js 和 Python)的 OpenTelemetry 集成实践。

2025-05-30 13:31:32 1075

原创 vLLM 核心技术 PagedAttention 原理详解

本文系统梳理了 vLLM 核心技术 PagedAttention 的设计理念与实现机制。文章从 KV Cache 在推理中的关键作用与内存管理挑战切入,介绍了 vLLM 在请求调度、分布式执行及 GPU kernel 优化等方面的核心改进。PagedAttention 通过分页机制与动态映射,有效提升了显存利用率,使 vLLM 在保持低延迟的同时显著提升了吞吐能力。

2025-05-27 22:13:25 728

原创 AI 推理 | vLLM 快速部署指南

vLLM 是一个高效、易用的大语言模型(LLM)推理和服务框架,专注于优化推理速度和吞吐量,尤其适合高并发的生产环境。它由加州大学伯克利分校的研究团队开发,并因其出色的性能成为当前最受欢迎的 LLM 推理引擎之一。vLLM 同时支持在 GPU 和 CPU 上运行,本文将会分别介绍 vLLM 使用 GPU 和 CPU 作为后端时的安装与运行方法。本文系统介绍了高性能 LLM 推理框架 vLLM 的部署实践,涵盖环境准备、GPU/CPU 后端配置、离线推理与在线推理部署等环节。

2025-05-12 00:14:19 1032

原创 AI 乱写代码怎么破?使用 Context7 MCP Server 让 AI 写出靠谱代码!

本文通过实际案例演示了如何利用 Context7 MCP Server 解决 AI 编程助手中的代码幻觉问题和使用过时 API 的问题。借助 Context7 获取最新、最准确的代码建议,显著提升了 AI 生成的代码质量,从而有效提高了开发效率。

2025-04-28 13:46:46 1692

原创 使用 LangChain + Higress + Elasticsearch 构建 RAG 应用

Higress 是一款云原生 API 网关,内核基于 Istio 和 Envoy,可以用 Go/Rust/JS 等编写 Wasm 插件,提供了数十个现成的通用插件。Higress 同时也能够作为 AI 网关,通过统一的协议对接国内外所有 LLM 模型厂商,同时具备丰富的 AI 可观测、多模型负载均衡/fallback、AI token 流控、AI 缓存等能力。Elasticsearch 是一个分布式搜索与分析引擎,广泛用于全文检索、日志分析和实时数据处理。

2025-04-22 16:58:23 998

原创 为 Kubernetes 提供智能的 LLM 推理路由:Gateway API Inference Extension 深度解析

Gateway API Inference Extension 为 Kubernetes 上的 LLM 推理服务提供了专业化的流量路由解决方案。通过模型感知路由、服务优先级和智能负载均衡等特性,它有效提高了 GPU 资源利用率,降低了推理延迟。

2025-04-10 13:12:53 1122

原创 一键部署 GPU Kind 集群,体验 vLLM 极速推理

本文介绍了如何通过一键脚本在本地快速搭建支持 GPU 的 Kind 集群,适用于大模型的开发与测试场景。利用 nvkind 工具,可以轻松实现多节点 GPU 资源分配,并结合 vLLM 成功部署了模型。

2025-03-22 21:59:22 998

原创 提升 AI 服务的稳定性:Higress AI 网关的降级功能介绍

本文重点介绍了 Higress AI 网关的模型降级和令牌降级功能。在 LLM 服务不可用时,模型降级功能能自动切换到备用 LLM,确保业务连续性。而令牌降级功能则通过健康检查机制,自动移除不可用的 ApiToken,并在恢复后重新加入,从而提升服务的稳定性和用户体验。

2025-02-22 21:58:24 1219

原创 AI 网关对决:Higress 与 OneAPI 的功能对比

AI 网关旨在统一管理与各种大型语言模型(LLMs)的交互。通过提供单一入口点,它解决了使用来自不同供应商的多个 AI 模型所带来的复杂性问题。这不仅简化了访问流程,提高了系统稳定性,还降低了成本,并灵活地利用了不同模型的优势。OneAPI是一个开源的 LLM API 管理 & 分发系统,可以帮助统一管理和转发各类大语言模型(如 DeepSeek 等)的 API 请求。它提供了一个兼容 OpenAI API 格式的统一接口,让用户能够方便地切换和管理不同的 AI 模型服务,同时支持令牌管理、负载均衡等功能。

2025-02-13 22:20:27 1511

原创 构建基于 SSE 协议通信的 MCP Server 和 Client

Server-Sent Events(SSE,服务器发送事件)是一种基于 HTTP 协议的技术,允许服务器向客户端单向、实时地推送数据。在 SSE 模式下,客户端通过创建一个对象与服务器建立持久连接,服务器则通过该连接持续发送数据流,而无需客户端反复发送请求。SSE 的主要特点包括:单向通信:服务器主动向客户端推送数据,客户端无法通过同一连接向服务器发送数据。基于 HTTP 协议:利用现有的 HTTP 协议,无需额外的协议支持,易于实现和部署。轻量级。

2025-02-09 00:20:21 4663 1

原创 快速上手:实现你的第一个 MCP Client

本文介绍了如何使用 MCP Python SDK 编写一个 MCP 客户端,并集成 LLM 来实现灵活的工具调用和数据处理。通过简单的示例和进阶示例,展示了如何通过标准输入输出(stdio)方式与 MCP 服务器建立连接,并集成 LLM(如通义千问)来实现更复杂的应用场景。

2025-02-03 21:11:36 7330 2

原创 MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch

本教程通过构建一个 Elasticsearch MCP Server 的实例,展示了如何利用 MCP 协议的三个核心原语(Tool、Resource 和 Prompt)来增强 LLM 的能力。通过 Tool 实现了索引操作和文档写入,通过 Resource 提供数据的访问能力,而 Prompt 则帮助 LLM 以标准化的方式完成任务。最后通过一个实际的组合示例,演示了如何让 LLM 利用这些组件完成更复杂的数据处理任务,充分体现了 MCP 在提升 LLM 应用开发效率方面的优势。

2025-01-23 23:08:00 6348

原创 一文带你入门 MCP(模型上下文协议)

MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。本文带领读者快速入门了 MCP(模型上下文协议),介绍了其架构、核心概念以及实际应用场景。

2025-01-23 23:07:26 8825 1

原创 使用 Higress AI 插件对接通义千问大语言模型

AI Gateway 的定义是 AI Native 的 API Gateway,是基于 API Gateway 的能⼒来满⾜ AI Native 的需求。将传统的 QPS 限流扩展到 token 限流。将传统的负载均衡/重试/fallback 能力延伸,支持对接多个大模型厂商 API,提高整体稳定性。扩展可观测能力,支持不同模型之间效果的对比 A/B Test,以及对话上下⽂链路 Tracing 等。Higress。

2024-09-23 00:12:56 1708 1

原创 深入剖析 Kubernetes 原生 Sidecar 容器

Kubernetes 1.28 引入了一种新型容器 - sidecar 容器。Kubernetes 将 sidecar 容器作为 init 容器的一个特例来实现,在 Pod 启动后,sidecar 容器仍将保持运行状态。具体的实现方式是在 init 容器中添加了一个新的字段, 该字段在特性门控启用时可用(该特性自 Kubernetes v1.29 起默认启用)。该字段是可选的,如果对其设置,则唯一有效的值为Always。

2024-05-31 13:45:00 1716

原创 Crossplane 实战:构建统一的云原生控制平面

Crossplane是一个开源的 Kubernetes 扩展,其核心目标是将 Kubernetes 转化为一个通用的控制平面,使其能够管理和编排分布于 Kubernetes 集群内外的各种资源。通过扩展 Kubernetes 的功能,Crossplane 对 Kubernetes 集群外部的资源进行了抽象,允许用户使用 Kubernetes 的 API 来统一管理云服务(例如 AWS EC2, S3 等等)以及基础设施等资源。

2024-05-05 11:19:59 1814

原创 Git 速查表:中级用户必备的 12 个 Git 命令

虽然在使用 Git 的最基本级别时不需要这些中级命令,但它们可以帮助用户提高使用 Git 的效率。它们提供了一组强大的功能,可以帮助您成为一个全面发展的开发者,这通常意味着能够以创造性的方式解决问题。

2023-08-30 17:42:44 268

原创 WebAssembly 在云原生中的实践指南

WebAssembly(Wasm)是一种通用字节码技术,它可以将其他编程语言(如 Go、Rust、C/C++ 等)的程序代码编译为可在浏览器环境直接执行的字节码程序。WebAssembly 的初衷之一是解决 JavaScript 的性能问题,让 Web 应用程序能够达到与本地原生应用程序类似的性能。作为底层 VM 的通用、开放、高效的抽象,许多编程语言,例如C、C++ 和 Rust,都可以将现有应用程序编译成 Wasm 的目标代码,以便它们在浏览器中运行。

2023-08-30 17:36:03 1589

翻译 Git 速查表:初学者必备的 12 个 Git 命令

Git 是世界上最流行的版本控制系统(VCS),很难想象开发人员没有它会是什么样子。现在,绝大多数开发人员,包括个人和大公司,都在项目中选择 Git。对于初学者来说,第一个问题就是如何使用 Git?在本文中,我将介绍 12 个对初学者特别重要的 Git 命令。您可以将本篇文章作为 Git 命令的速查表,以便在以后查找使用。现在让我们开始吧。在本文中,我讨论了初学者必备的 12 个 Git 命令,您可以将本篇文章作为 Git 速查表,在以后的参考中使用。

2023-04-28 00:13:59 275

原创 使用 Kubectl Patch 命令更新资源

本文介绍了使用 kubectl patch 命令更新 Kubernetes 集群中资源对象的方法。Kubectl patch 命令允许用户对资源对象的指定字段进行局部更新,提高了更新操作的灵活性。文章介绍了 kubectl patch 命令的语法和使用方法,包括三种 strategic patch, JSON merge patch, JSON patch 3 种类型,并结合了具体的示例进行说明。

2023-04-23 18:22:46 3923

原创 Kubernetes 多集群网络方案系列 2 -- Submariner 监控

在这篇文章里,我们向大家展示了如何运用 Prometheus 来收集与 Submariner 相关的监控指标,并利用 Grafana 以可视化的方式展示监控数据,包括 Submariner 集群间的连接状态、连接延迟以及 DNS 请求等各项指标。此外,我们还借助 Operator 简化了 Prometheus 和 Grafana 的配置与管理过程。最后,文章还阐述了如何通过 Prometheus Federation 将多个集群中的 Prometheus 实例指标汇聚到一个中心集群,以方便查询和展示。

2023-04-16 20:02:16 806

原创 Kubernetes 多集群网络方案系列 1 -- Submariner 介绍

本文首先介绍了 Submariner 的架构,包括 Broker、Gateway Engine、Route Agent、Service Discovery、Globalnet 和 Submariner Operator。接着,通过实验向读者展示了 Submariner 在跨集群场景中如何处理 ClusterIP 和 Headless 类型的流量。最后,演示了 Submariner 的 Globalnet 是如何通过 GlobalCIDR 支持不同集群间存在 CIDR 重叠的情况。

2023-04-12 12:39:01 2536 1

原创 数据库 CI/CD 工具 -- Bytebase 介绍

在本文中,我们首先向读者展示了 Bytebase 的安装部署过程,以及其查询和更改的基本功能。接着,我们体验了 Bytebase 1.14.0 最新版本所带来的 ChatSQL 功能,该功能基于 OpenAI,能够根据我们的问题或需求生成相应的 SQL 语句。最后,我们实践了 Bytebase 的 GitOps 功能,通过结合版本控制系统,可以跟踪数据库结构的变化,方便我们对数据库变更进行审查、协作和回滚操作。

2023-03-29 10:36:19 2505

原创 使用 Ingest Pipeline 在 Elasticsearch 中对数据进行预处理

Ingest pipeline 是 Elasticsearch 的一个非常实用的功能,它能够帮助用户在数据进入 Elasticsearch 索引之前对其进行预处理,从而提高搜索和分析的效率和准确性。

2023-02-16 13:31:02 1338

原创 使用 ClusterResourceSet 为 Cluster API 集群自动安装 CNI 插件

在本文中,我们将会通过 ClusterResourceSet 来自动为工作负载集群安装 Cilium CNI 插件。

2022-12-29 12:27:41 884

原创 在 Istio 服务网格中使用 Argo Rollouts 实现智能的渐进式发布

在本文中我们介绍了如何使用 Argo Rollouts 结合 Istio 服务网格中丰富的流量治理以及可观测性能力;并通过 Argo Rollouts 提供的 Analysis 机制,在应用升级时对应用的健康状态进行分析,根据分析结果自动决定是否继续更新或者回滚,从而实现了智能的渐进式发布。

2022-12-10 13:48:13 1189 1

原创 vcluster -- 基于虚拟集群的多租户方案

虚拟集群(virtual cluster, 简称 vcluster)是在常规的 Kubernetes 集群之上运行的一个功能齐全,轻量级,隔离性良好的 Kubernetes 集群。虚拟集群的核心思想是提供运行在“真实”Kubernetes 集群之上隔离的 Kubernetes 控制平面(例如 API Server)。与完全独立的“真实“集群相比,虚拟集群没有自己的工作节点或者网络,工作负载实际上还是在底层宿主集群上调度。

2022-10-19 11:06:21 1919

原创 Istio Ambient Mesh 介绍

1 Ambient Mesh 介绍Istio 的传统模式是将 Envoy proxy 作为 sidecar 部署在工作负载的 Pod 中,虽然与重构应用程序相比,sidecar 具有显著的优势,但是仍然会产生一些限制:侵入性:sidecar 必须通过修改 Kubernetes Pod 的配置和重定向流量来“注入”应用程序。因此,安装和升级 sidecar 需要重新启动 Pod,这将会对工作负载产生影响。资源利用率低:由于在每个工作负载 Pod 都注入了 sidecar 代理 ,因此 Pod 必须为

2022-09-15 14:34:29 4213

原创 使用 ECK 在 Kubernetes 集群中管理 Elastic Stack

使用 ECK 在 Kubernetes 集群中管理 Elastic Stack

2022-08-30 21:31:47 2483 3

原创 使用 Containerlab + Kind 快速部署 Cilium BGP 环境

1 前置知识1.1 Cilium 介绍Cilium 是一款基于 eBPF 技术的 Kubernetes CNI 插件,Cilium 在其官网上对产品的定位为 “eBPF-based Networking, Observability, Security”,致力于为容器工作负载提供基于 eBPF 的网络、可观察性和安全性的一系列解决方案。Cilium 通过使用 eBPF 技术在 Linux 内部动态插入一些控制逻辑,可以在不修改应用程序代码或容器配置的情况下进行应用和更新,从而实现网络、可观察性和安全性相

2022-08-28 16:39:17 2511 1

原创 如何往 Kafka 发送大消息?

默认情况下,Kafka topic 中每条消息的默认限制为 1MB。这是因为在 Kafka 中,非常大的消息被认为是低效和反模式的。然而,有时候你可能需要往 Kafka 中发送大消息。在本文中我们将研究在 Kafka 中处理大消息的两种方法。选项 1:使用外部存储将大消息(例如视频文件)发送到外部存储,在 Kafka 中只保存这些文件的引用,例如文件的 URL。外部存储可以是云存储(例如 Amazon S3),也可以是网络存储(NAS)或者 HDFS 等本地大型文件存储系统。选项 2:修改 Kafk

2022-06-17 22:27:01 1524

原创 实现 LRU 缓存算法

1 LRU 缓存介绍LRU 算法全称是最近最少使用算法(Least Recently Use),是一种简单的缓存策略。顾名思义,LRU 算法会选出最近最少使用的数据进行淘汰。那么什么是缓存呢?缓存专业点可以叫一种提高数据读取性能的技术,可以有效解决存储器性能和容量的矛盾,是一种空间换时间的设计思想,比如我们常见的内存是硬盘的缓存,Cache 是内存的缓存,浏览器本地存储是网络访问的缓存......LRU 有许多应用场景,例如:操作系统底层的内存管理。缓存服务,例如 Redis,当数据满的时候就要

2022-05-18 14:21:27 4522

原创 Kubernetes 中数据包的生命周期 -- 第 4 部分

本文翻译自:Life of a Packet in Kubernetes — Part 4 [1]作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。 本文是 Kubernetes 中数据包的生命周期系列文章的第 4 部分,我们将会介绍 Kubernetes 中的 Ingress 资源对象和 Ingress Controller。Ingress Controller 是一个控制器,它监视 Kubernetes API Server 对 Ingre.

2022-05-15 17:28:34 404

原创 Cilium 多集群 ClusterMesh 介绍

Cluster Mesh 是 Cilium 的多集群实现,可以帮助 Cilium 实现跨数据中心、跨 VPC 的多 Kubernetes 集群管理,ClusterMesh 主要有以下功能:1.通过隧道或直接路由的方式,在多个 Kubernetes 集群间进行 Pod IP 路由,而无需任何网关或代理。2.使用标准 Kubernetes 服务发现机制。3.跨多个集群的网络策略。策略可以使用 Kubernetes 原生的 NetworkPolicy 资源或者扩展的 CiliumNetworkPolicy

2022-05-11 18:40:32 1893 2

原创 Kubernetes 中数据包的生命周期 -- 第 3 部分

本文翻译自:Life of a Packet in Kubernetes — Part 3 [1]作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。本文是 Kubernetes 中数据包的生命周期系列文章的第 3 部分。我们将讨论 Kubernetes 的 kube-proxy 组件如何使用 iptables 来控制流量。 了解 kube-proxy 在 Kubernetes 环境中的作用以及它如何使用 iptables 来控制流量非常重要。.

2022-05-06 15:07:41 1008

原创 ECA 认证备考指南

ECA 简介ECA(Elastic Certified Analyst,Elastic 认证分析师)是 Elastic 针对 Kibana 进行数据可视化和分析而设计的一门考试。考试费用 300 美金,考试时长 2 小时,2022 年 4 月 28 号之后升级为 7.15 版本,我这次考的是 7.6 版本。考试大纲及常见问题考试大纲:Elastic Certified Analyst Exam [1],其中标注了 7.6 和 7.15 两个版本考点的变化。在 ECA 考试中主要考察 3 个部分:

2022-04-28 22:29:52 1146

原创 Kubernetes 中数据包的生命周期 -- 第 2 部分

本文翻译自:Life of a Packet in Kubernetes — Part 2 [1]作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。 正如我们在第 1 部分中所讨论的,CNI 插件在 Kubernetes 网络中起着至关重要的作用。当前有许多第三方 CNI 插件可供使用,Calico 便是其中之一。凭借着良好的易用性以及对多种网络架构的支持,Calico 获得了许多工程师的青睐。Calico 支持广泛的平台,包括 Kubern.

2022-04-24 12:16:52 1444

原创 使用 HTTPS 加密 Ingress 流量

1.安装cfsslCFSSL是CloudFlare开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API 服务,使用Go语言编写。下载地址:https://pkg.cfssl.org/R1.2/cfssl_linux-amd64https://pkg.cfssl.org/R1.2/cfssljson_linux-amd642.创建CA证书#得到的json文件保持默认cfssl print-defaults config &g

2022-04-21 22:34:54 4627

原创 Kubernetes 中数据包的生命周期 -- 第 1 部分

本文翻译自:Life of a Packet in Kubernetes — Part 1 [1]作者:Dinesh Kumar Ramasamy本文在原文的基础上做了适当的修改,如有疑问请查阅原文。Kubernetes 集群中的网络可能会令人感到有点困惑,即使是对于拥有虚拟网络和路由实践经验的工程师来说也是如此。本系列文章将分为 4 个部分,帮助你理解基本的 Kubernetes 网络,本文属于第一部分。Part 11.Linux 命名空间(Namespaces)2.容器网络(Netw.

2022-04-21 10:39:33 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除