116 篇文章带有标签 “python”

JiuwenSwarm 架构设计、工作原理与核心模块深度剖析

JiuwenSwarm 是什么?

JiuwenSwarm 是一个华为云开源的分布式 AI 多智能体协同与能力自进化系统。简单说,它是一个让 AI 智能体像团队一样协作、并且越用越聪明的系统。

核心特色

1. 三种执行模式,适配不同场景

模式 怎么工作 适合
Plan 模式 单 Agent 深度推理,自带任务规划 Rail,边思考边执行 复杂任务、多步骤分析
Performance 模式 卸掉规划护栏,直问直答,延迟最低 快速问答、简单查询
Swarm 模式 Leader 拆解任务,组建多 Agent 团队并行协作,可跨机器 大型复杂工作、多角色分工
flowchart LR
    M["用户输入"] --> P{模式选择}
    P -->|agent.plan| A1["单 agent 深度规划<br/>+ task planning rail"]
    P -->|agent.fast| A2["单 agent 快速响应<br/>- heavy rail"]
    P -->|team| A3["leader 拆解任务<br/>+ teammate 分布式执行"]
    A1 --> R["输出结果"]
    A2 --> R
    A3 --> R

audio2sub — 音频转字幕工具

基于 OpenAI Whisper 的命令行工具,将音频文件批量转写为 VTT / SRT 格式字幕。

环境要求

依赖 说明
Python ≥ 3.8
PyTorch Whisper 的运行时依赖,自动安装
openai-whisper 语音识别引擎
ffmpeg 音频解码,系统级安装

安装步骤

1. 安装 ffmpeg

  • macOS:
brew install ffmpeg
  • Ubuntu / Debian:
sudo apt update && sudo apt install ffmpeg

2. 安装 openai-whisper

pip install openai-whisper

该命令会自动拉取 torch 等依赖。首次运行时 Whisper 模型文件会下载到 ~/.cache/whisper/

⚠️ macOS 环境注意事项

使用系统 Python 或 miniconda 安装 whisper:

# miniconda(推荐,已预装 torch)
/opt/miniconda/bin/pip install openai-whisper

# 或系统 Python
/usr/bin/python3 -m pip install openai-whisper

脚本文件

编写文件:audio2sub.py

海量文本去重与相似度检索:从 Jaccard 到 MinHash 的完整技术指南

问题背景:为什么百亿级去重不可能暴力求解?

在互联网大数据场景中,如何从海量数据(如百亿网页、千万级商品描述、巨大的开源代码仓库)中快速找出重复或高度相似的内容?这是一个极其经典的工业界痛点。

最朴素的想法是:对文章进行分词,转成集合后两两比对。若有 NN 篇文档,需要比较 N(N1)2\frac{N(N-1)}{2} 次。当 N=107N = 10^7(一千万)时,比较次数约为 50 万亿次。即便单次比较仅需 1 微秒,也需要 1.6 年 才能跑完。这种 O(N2)O(N^2) 复杂度的算法会导致服务器直接卡死崩溃。

本文将结合数学原理、算法推导与工程实战,深入拆解 Jaccard 相似度 的直觉陷阱,以及 MinHash(最小哈希) 算法如何对高维稀疏数据完成降维打击,最终给出可直接落地的工业级实现方案。

一、Jaccard 相似度:精准度量及其直觉陷阱

Jaccard 相似度(Jaccard Similarity) 是衡量两个集合重合度的标准数学方法。其核心思想非常直观:看两个集合的交集(共同拥有的元素)占它们并集(总共拥有的元素)的比例。

数学公式定义为:

J(A,B)=ABABJ(A, B) = \frac{|A \cap B|}{|A \cup B|}

1. 经典直觉陷阱:为什么你常常会算错?

彻底搞懂 uv pip、uv add 和 uv tool 的核心区别

在 Python 工具链大洗牌的今天,Astral 团队推出的 uv 已经成为了无可争议的“速度之王”。它不仅能用 Rust 带来百倍的速度提升,还展现出了统一 Python 生态的野心。

然而,很多刚从 pippoetry 迁移过来的开发者,在看到 uv pipuv adduv tool 这三个都在“装包”的命令时,难免会产生疑问:它们难道不是重合的吗?为什么装个包还要分三种命令?

我们就来彻底拆解这三者的设计哲学和应用场景,帮你建立起最清晰的 uv 工作流。

💡 一分钟核心速览

其实,这是 uv 为了彻底解决 Python 长期以来“全局环境污染”“虚拟环境混乱”以及“工具与项目依赖混淆”等痛点,而设计的三套完全独立的工作流。

命令 对应传统工具 管理的目标对象 核心作用
uv pip pip / pip-tools 底层虚拟环境中的包 作为原生 pip 的超快替代品,直接向当前激活的环境中塞入依赖。
uv add poetry add / pdm add 当前声明式项目的依赖 现代项目管理工作流。自动管理 pyproject.tomluv.lock
uv tool pipx 全局可执行工具(如 ruff, black 在完全隔离的专用环境中安装 CLI 工具,并自动暴露到全局,绝不污染项目。

🔍 深度对比:为什么它们不能互相替代?

Reachy Mini 机器人

Reachy Mini

2025年12月买的 Reachy Mini 机器人,近5个月终于到手了。

购买链接

介绍

Reachy Mini 是由法国机器人公司 Pollen Robotics 开发的一款开源的桌面级人形机器人,旨在为教育、研究和创意项目提供一个灵活且易于使用的平台。Reachy Mini 是 Reachy 机器人的小型版本,具有相似的功能和设计,但体积更小,更适合在桌面环境中使用。

硬件版本

功能特性 Wireless (无线版) Lite (轻量版)
价格 449449 299
电机与机械结构 9 个伺服电机 9 个伺服电机
头部运动 6 自由度 (pitch, roll, yaw, x, y, z) 6 自由度 (pitch, roll, yaw, x, y, z)
身体旋转 ±160° ±160°
天线 2 个动力感应天线 2 个动力感应天线
摄像头 广角摄像头 广角摄像头
麦克风 4 麦克风阵列 4 麦克风阵列
扬声器 5W 扬声器 5W 扬声器
板载算力 树莓派 CM 4 (16GB 存储) -
加速计 内置 IMU -
Wi-Fi 连接 支持 -
独立模式 支持 需通过 USB 连接控制
供电方式 电池供电 + 电源适配器 (7.3V / 5A) 仅限电源适配器 (7.3V / 5A)

开箱与初体验 Welcome to Reachy Mini!

三款顶级 AI 智能体架构深度拆解:从 Rust 原生高性能到 Python 极简主义

ZeroClaw:极致性能的 Rust 原生运行时。 凭借 <10ms 冷启动与 <5MB 内存占用,它证明了智能体可以像嵌入式插件一样轻盈。通过 Landlock 内核级沙箱与 Trait 驱动的模块化设计,ZeroClaw 定义了高并发、资源受限环境下的工业级标准。

IronClaw:坚不可摧的安全防御系统。 针对企业级痛点,它构建了包含隐私泄露检测、Docker 容器化隔离与任务状态机的深度防御体系,确保智能体在拥有自主权的同时,不逾越安全红线。

nanobot:大道至简的 Python 扩展框架。 仅用 4000 行代码便实现了基于 Markdown 的“人类可读”记忆系统。它通过 MCP 协议与插件化技能包,展现了极简主义架构下惊人的生态连接力。

ZeroClaw 项目架构设计分析

项目概述

ZeroClaw 是一个Rust 优先的高性能自主智能体运行时,专注于提供安全、高效、可扩展的智能体执行环境。它采用严格的架构设计原则,实现了在资源受限设备上的高性能运行,同时保持了强大的扩展能力。

核心架构特点

SenseVoice

SenseVoice 是具有音频理解能力的音频基础模型,包括语音识别(ASR)、语种识别(LID)、语音情感识别(SER)和声学事件分类(AEC)或声学事件检测(AED)。

SenseVoice

核心功能 🎯

SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测

  • 多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。
  • 富文本识别:
    • 具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。
    • 支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。
  • 高效推理: SenseVoice-Small 模型采用非自回归端到端框架,推理延迟极低,10s 音频推理仅耗时 70ms,15 倍优于 Whisper-Large。
  • 微调定制: 具备便捷的微调脚本与策略,方便用户根据业务场景修复长尾样本问题。
  • 服务部署: 具有完整的服务部署链路,支持多并发请求,支持客户端语言有,python、c++、html、java 与 c# 等。

架构图

  • 语音识别(ASR)
  • 语言识别(LID)
  • 语音情感识别(SER)
  • 音频事件检测(AED,比如笑声、掌声、背景音乐、咳嗽等)
  • 逆文本归一化(ITN)

安装

克隆代码库

SimulStreaming — 实时流式语音识别工具包

SimulStreaming 实现了 Whisper 模型的同步翻译和转录功能(在语音识别领域被称为流式传输)。SimulStreaming 采用了最先进的同步策略 AlignAtt,这使其具备极高的速度和效率。

安装

git clone https://github.com/ufal/SimulStreaming
cd SimulStreaming
pip install -r requirements.txt

从音频文件进行实时模拟

WhisperLiveKit - 实时语音识别

WhisperLiveKit 演示

实时、完全本地化的语音转文本,带说话人识别功能

WhisperLiveKit 架构

构建 WhisperLiveKit

运行 pytorch 容器 - CUDA (JetsonThor)

docker run -it \
    --ipc=host \
    --net=host \
    --runtime=nvidia \
    --name=whisperlivekit \
    -v ~/.cache:/root/.cache \
    -v /models:/models \
    nvcr.io/nvidia/pytorch:25.10-py3 \
    bash

生成证书

mkdir -p .cert && cd .cert

openssl req -x509 -newkey rsa:4096 \
  -keyout key.pem \
  -out cert.pem \
  -days 365 \
  -nodes \
  -subj "/C=CN/ST=ShanDong/L=JiNan/O=LNSoft/OU=LNSoft/CN=localhost/emailAddress=wjj@163.com"

参数解释:

  • -x509:生成自签名证书
  • -newkey rsa:4096:新建 4096 位 RSA 密钥
  • -keyout key.pem:输出私钥文件
  • -out cert.pem:输出证书文件
  • -days 365:证书有效期 365 天
  • -nodes:不加密私钥(即无需输入密码)
  • -subj:直接指定证书主题,跳过交互式输入

探索多模态大模型 GLM-4.1V-Thinking

本文档介绍了多模态大模型GLM-4.1V-Thinking,这是一个基于 GLM-4-9B-0414 的开源视觉语言模型,通过强化学习显著提升了其性能。文档详细阐述了该模型在设计图转代码(Design2Code)任务上的卓越表现,能将设计图转换为高质量的HTML/CSS代码,并提供了与Qwen-2.5-VL-32B-Instruct的对比示例。此外,资源还展示了如何通过智谱API免费使用GLM-4.1V-Thinking进行图像识别,并给出了一个安全检测系统的代码示例,该系统能够识别图像中的火灾、烟雾以及人员安全帽佩戴情况,并进行坐标标注,强调了模型在实际应用中的潜力。

模型介绍

基于 GLM-4-9B-0414 基座模型,我们推出新版VLM开源模型 GLM-4.1V-9B-Thinking ,引入思考范式,通过课程采样强化学习 RLCS(Reinforcement Learning with Curriculum Sampling)全面提升模型能力, 达到 10B 参数级别的视觉语言模型的最强性能,在18个榜单任务中持平甚至超过8倍参数量的 Qwen-2.5-VL-72B。 论文 GLM-4.1V-Thinking:通过可扩展强化学习实现通用多模态推理

模型文件

在线体验

基准性能

DXT(桌面扩展)开发指南

本文档主要介绍了 DXT (桌面扩展) 的开发指南,它是一种将 MCP 服务器 转换为可分发扩展的工具。文档详述了如何使用 DXT 工具初始化、验证和打包 扩展,并提供了 目录结构示例。此外,还强调了在打包 Python 依赖项时需要注意的 跨平台兼容性问题,特别是在不同架构(如 arm64 macOS 与 x86_64 Linux)之间。最终目标是创建一个 .dxt 文件,其中包含所有必需的服务器文件和元数据,以便于分发和管理。

graph TD
    A[DXT扩展] -->|打包| B(calculator-mcp-server)
    B -->|元数据和配置| C[manifest.json]
    B -->|实现| D[server/*.py]
    B -->|依赖库| E[server/lib/]
    B -->|图标| F[icon.png]
    
    G[MCPHub] -->|运行| H[MCP Servers]
    H -->|包含| B
    H -->|管理| I[其他 MCP Servers]
    
    J[开发者] -->|开发| B
    J -->|使用| K[DXT工具]
    K -->|初始化| C
    K -->|打包| A
// ...

DXT 的核心是包含您的整个 MCP 服务器和 manifest.json 的简单 zip 文件。

Desktop Extensions (DXT)

桌面扩展(DXT)是一种 zip 格式的软件包,旨在简化本地 MCP 服务器的安装和分发。它类似于其他应用程序扩展,通过包含一个本地 MCP 服务器及其功能的 manifest.json 文件,允许用户实现一键安装。该项目不仅提供扩展规范和用于创建 DXT 文件的 CLI 工具,还开源了 Claude for macOS and Windows 中用于加载和验证 DXT 扩展的代码,旨在为 MCP 服务器构建一个开放且可移植的生态系统。开发者只需将 MCP 服务器文件、manifest.json 放入文件夹并打包成 .dxt 文件,即可轻松创建扩展,从而方便地在支持 DXT 的应用程序中运行本地 AI 工具。

桌面扩展 (DXT)

桌面扩展 (.dxt) 是一种 zip 压缩包,其中包含一个本地 MCP 服务器和一个 manifest.json 文件,该文件描述了服务器及其功能。其格式在理念上类似于 Chrome 扩展 (.crx) 或 VS Code 扩展 (.vsix),使用户能够一键安装本地 MCP 服务器。

本仓库提供三个组件:MANIFEST.md 中的扩展规范,一个用于创建扩展的 CLI 工具(参见 CLI.md),以及 Claude for macOS and Windows 用于加载和验证 DXT 扩展的代码 (src/index.ts)。

DXT Manifest.json 规范

该文档概述了 DXT Manifest.json 规范,这是一个用于定义扩展元数据和配置的JSON文件标准。它详细说明了 manifest.json 文件的结构,包括 必填字段 如版本、名称、作者和服务器配置,以及 可选字段 如显示名称、描述、存储库信息和屏幕截图。此外,规范还涵盖了 兼容性要求(针对客户端、平台和运行时)、服务器配置(支持Python、Node.js和二进制类型,并允许平台特定覆盖和变量替换),以及 用户可配置选项 的定义和传递方式。最后,文档解释了如何声明扩展提供的 工具和提示,并支持动态生成这些功能。

Manifest 结构

manifest.json 文件包含所有扩展的元数据和配置。大多数字段是可选的。

一个只包含必填字段的基本 manifest.json 如下所示:

FastMCP 实战:构建计算器 MCP 服务器与客户端

该文档详细介绍了如何使用 FastMCP 框架来构建和集成计算器 MCP 服务器与客户端。它首先指导用户初始化并设置开发环境,包括创建虚拟环境和安装 FastMCP。接着,文档展示了MCP 服务器的开发过程,通过 main.py 文件定义了加、减、乘、除、幂等计算工具,并配置了项目元数据文件 pyproject.toml。此外,文档还提供了构建和发布服务器到 PyPI 的步骤,以及运行 MCP 服务器的方法,包括使用 MCP Inspector 进行调试和通过 FastMCP CLI 运行。最后,文档展示了MCP 客户端的开发,演示了客户端如何调用服务器上的工具,并深入探讨了将 MCP 客户端与 OpenAI 集成,实现通过自然语言与计算器服务器进行交互的能力。

创建 MCP 服务器

初始化

uv init calculator-mcp-server
cd calculator-mcp-server

创建虚拟环境

uv venv
Using CPython 3.10.9 interpreter at: /opt/miniconda/bin/python3.10
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

激活虚拟环境

source .venv/bin/activate

MCPHub 自定义服务器配置及内网部署(二)

本文档指导用户构建一个本地 PyPI 源,以便持久化存储 Python 包并进行离线安装。接着,文档说明了自定义 MCPHub 配置,包括定义 MCP 服务器市场中的服务(例如:mcp-server-time, calculator-mcp-server)以及调整 MCPHub 自身的运行时设置,例如指定本地 PyPI 源和用户认证信息。

架构图

MCPHub 自定义服务器配置及内网部署(一)

本文档重点介绍了如何在内网(离线)集成和配置一个名为 "mcp-server-time" 的特定 MCP 服务器。首先指导用户如何 获取 MCPHub 容器的 Python 环境信息,包括版本和平台标签,以便下载兼容的 Python 包。接着,文档详细阐述了如何使用 pip download 命令 下载服务器及其依赖包,并解释了各个命令参数的用途。最后,展示了如何通过 编辑 custom/servers.jsoncustom/mcp_settings.json 文件 来自定义 MCP 服务器市场配置和运行时设置,并给出了 Docker Compose 配置示例,以实现自定义配置的替换并部署。

这里使用 mcp-server-time 作为示例。

查看 MCPHub 容器的 Python 环境信息(版本和平台)

进入 MCPHub 容器

docker exec -it mcphub bash

安装 packaging 库

pip install packaging

编辑 get_info.py

MCP 服务器开发协议

开发协议

有效的 MCP 服务器开发的核心是遵循结构化的协议。该协议通过位于 MCP 工作目录根目录(/Users/your-name/Documents/Cline/MCP)中的 .clinerules 文件实现。

使用 .clinerules 文件

.clinerules 文件是一个特殊的配置文件,Cline 会在放置该文件的目录中工作时自动读取。这些文件:

  • 配置 Cline 的行为并执行最佳实践
  • 将 Cline 切换到专门的 MCP 开发模式
  • 提供构建服务器的分步协议
  • 实施安全措施,如防止过早完成
  • 指导您完成规划、实施和测试阶段

以下是应放置在 .clinerules 文件中的完整 MCP 服务器开发协议:

MCP 快速入门指南

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

可以把 MCP 服务器想象成给 Cline 提供额外功能的特殊助手!它们让 Cline 能够完成像获取网页或处理文件这样的酷炫功能。

⚠️ 重要提示:系统要求

停一下!在继续之前,你必须验证以下要求:

必需软件

  • ✅ 最新版本的 Node.js (v18 或更新版本)
  • ✅ 最新版本的 Python (v3.8 或更新版本)
  • ✅ UV 包管理器
    • 安装 Python 后,运行:pip install uv
    • 使用以下命令验证:uv --version

❗ 如果以上任何命令失败或显示较旧的版本,请在继续之前进行安装/更新!

⚠️ 如果遇到其他错误,请参见下方的"故障排除"部分。

🎯 快速步骤(仅在满足要求后执行!)

1. 🛠️ 安装你的第一个 MCP 服务器

  1. 在 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP 服务器面板
  1. MCP 设置文件应该会在 VS Code 中显示。
  2. 将文件内容替换为以下代码:

Windows 系统: