当前位置: 首页 > news >正文

向量维度平均:centroid(embedding) 聚合函数详解

随着 AI 嵌入(embedding)向量的广泛应用,时间序列数据库中存储向量数据已经成为常态。SonnetDB 提供了 centroid(embedding) 聚合函数,用于计算一组向量的逐维度平均值——即这些向量的几何中心(centroid)。这个函数对聚类分析、原型向量提取和向量质量监控等场景至关重要。

什么是向量 centroid?

假设你有一个 3 维向量集合:[1,2,3][3,4,5][5,6,7],那么 centroid 就是 [(1+3+5)/3, (2+4+6)/3, (3+5+7)/3] = [3, 4, 5]。SonnetDB 的 centroid() 对所有输入向量做逐维度平均,输出一个同维度的向量。

基本用法

-- 计算某类图像嵌入的平均向量
SELECTcategory,centroid(embedding) AS avg_embedding
FROM image_features
WHERE ts >= '2025-01-01' AND ts < '2025-02-01'
GROUP BY category;
-- 计算每个用户最近 30 天的对话嵌入中心
SELECTuser_id,time_bucket('1 day', ts) AS day,centroid(session_embedding) AS daily_center
FROM chat_sessions
WHERE ts >= NOW() - INTERVAL '30 days'
GROUP BY user_id, day
ORDER BY user_id, day;

与向量距离函数配合使用

SonnetDB 支持 distance()cosine_similarity() 等向量运算函数,可以将 centroid 结果作为参照点:

-- 计算每条记录与当日平均向量的余弦相似度
WITH daily_center AS (SELECTtime_bucket('1 day', ts) AS day,centroid(embedding)       AS center_vecFROM product_vectorsWHERE ts >= '2025-04-01'GROUP BY day
)
SELECTpv.id,pv.ts,cosine_similarity(pv.embedding, dc.center_vec) AS similarity_to_center
FROM product_vectors pv
JOIN daily_center dcON time_bucket('1 day', pv.ts) = dc.day
WHERE pv.ts >= '2025-04-01'
ORDER BY similarity_to_center DESC;

批量聚类场景

-- 用 k-means 风格的 centroid 分析检测 embedding 漂移
SELECTtime_bucket('1 week', ts)                                 AS week,model_version,centroid(embedding)                                       AS cluster_center,COUNT(*)                                                   AS vector_count,ROUND(AVG(vector_magnitude(embedding))::numeric, 4)       AS avg_magnitude
FROM llm_embeddings
WHERE ts >= '2025-01-01'
GROUP BY week, model_version
ORDER BY week, model_version;

注意事项

  • 所有输入向量必须具有相同的维度,否则会抛出异常
  • 输入为 NULL 的向量会被自动忽略
  • 对于高维向量(如 768 维或 1536 维),centroid 的计算是逐元素 O(d*n) 的。在涉及数十亿向量的超大规模聚合中,建议配合时间分区使用

适用场景

  • 聚类分析中的质心计算
  • embedding 分布漂移监控(生产环境 AI 模型行为变化检测)
  • 降维前的向量聚合
  • 原型样本提取(每个类别的"平均"语义表示)

SonnetDB 将 centroid() 作为内置向量聚合函数,使向量数据的时域聚合变得和传统数值聚合一样自然。

http://www.jsqmd.com/news/822760/

相关文章:

  • 2026年5月加药系统/加药装置/加药设备/加药撬厂家推荐指南:成都创赢环保凭什么成为加药系统领域的优选供应商? - 品牌推荐大师1
  • 基于MVVM与Jetpack Compose的Android ChatGPT客户端开发实践
  • Linux打印机兼容性终极指南:foo2zjs驱动完整解决方案
  • Custodian:轻量级进程守护工具的设计原理与容器化实践
  • 如何快速掌握AMD Ryzen处理器调试工具:SMUDebugTool终极指南
  • Open WebUI容器化部署终极指南:构建私有AI平台的完整解决方案
  • 企业微信 API 自动化开发指南:从消息回调到智能运营实战
  • 泡沫液灭火剂哪个厂家靠谱?浙江金瑞恒,中石化与中石油等行业巨头的共同信赖之选 - 品牌速递
  • 大语言模型对话质量监控:自动化评估与退化检测实践
  • 小微团队如何利用 Taotoken 统一管理多个 AI 模型调用
  • BilibiliDown:3步掌握B站视频下载的终极指南,轻松保存高清视频与音频
  • AI智能体开发新范式:用测试驱动开发(TDD)构建可靠Agent技能
  • 小米Note电池更换全场景实测:成本与风险拆解 - 奔跑123
  • 保持手感与AI发展
  • 基于Python与Telegram Bot API构建模块化自动化助手
  • 2025届最火的十大AI辅助写作工具解析与推荐
  • 【数据分析】基于Koopman理论与谱模型降阶思想的多种湍流自然流动与工程流动的随机数据驱动降阶模型附matlab代码
  • 3步掌握Flatpickr:打造现代化日期选择体验的终极指南
  • 合成消防泡沫液品质推荐:浙江金瑞恒,以严苛质检体系保障产品质量稳定如一 - 品牌速递
  • Azure OpenAI API代理网关:兼容性、部署与性能优化实战
  • AgentStack:构建可工程化多智能体协作系统的完整技术栈
  • Linux:标准IO
  • 常见错误解析1.0
  • 【粉丝福利社】终于蹲到了!“能读一半就是赚到”的《编码》精装版来了
  • Charles+MuMu模拟器进行app抓包和调试教程
  • 【网安干货收藏】网络安全工程师速成完整版,小白 5 个月系统学习,轻松转行踏入高薪赛道
  • 2026年必看!超好用的上门做饭家政服务,让你轻松告别厨房烦恼 - 速递信息
  • Python_asyncio异步编程深度实战
  • 036、PCIE配置空间类型0与类型1:一次设备枚举失败的排查手记
  • 不争而胜:贾子竞争哲学的范式革命与终极法则