首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Python与算法之美

    10分钟入门faiss相似向量检索

    一,faiss简介 faiss全称 Facebook AI Similarity Search,是FaceBook的AI团队针对大规模向量 进行 TopK 相似向量 检索 的一个工具,使用C++编写 ,有python接口,对10亿量级的索引可以做到毫秒级检索的性能。 faiss的主要原理是构建base vectors向量数据的index索引,然后利用索引对search vectors 实现 TopK 相似向量检索。 # index向量库的向量 faiss.normalize_L2(xb) print('xb.shape = ',xb.shape,'\n') # 二,准备查询向量 # 待检索的query向量 faiss.normalize_L2(xq) print('xq.shape = ',xq.shape,'\n') # 三,构建向量库索引

    5K30编辑于 2023-09-05
  • 艾体宝产品丨Redis 8 向量搜索实测:轻松扩展至 10 亿向量

    面对生成式 AI 带来的超大规模向量需求,Redis 8 向量搜索实测轻松支持 10 亿向量,依旧保持低延迟与高吞吐表现。 我们发现了一些需要 10 亿个或更多向量的使用场景,很高兴能分享我们在这一规模上的基准测试结果。 将向量搜索扩展到 10 亿个向量并非易事,但 Redis 8 的发布让这一过程显得轻松。 今天,我们将通过展示 Redis 在实时搜索 10 亿个 768 维向量时的处理能力,来说明它如何应对大规模应用程序。 测试配置详解我们使用了一个与 Intel® 合作准备的向量数据集,该数据集包含 10 亿个 768 维向量,采用 FLOAT16 精度和 10K 查询,每个查询有 100 个真实值(精确邻居,exact

    59210编辑于 2025-05-22
  • 来自专栏资讯分享

    腾讯云向量数据库正式上线公测!提供10亿级向量检索能力

    8月1日,腾讯云向量数据库(Tencent Cloud Vector DB)正式上线公测,点击本文末尾的“阅读原文”,即可申请体验。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。 此前,腾讯云向量数据库的向量化能力(embedding)曾多次获得权威机构认可,2021年曾登顶MS MARCO榜单第一、相关成果已发表于NLP顶会EMNLP。

    42220编辑于 2023-08-03
  • 来自专栏腾讯云数据库(TencentDB)

    腾讯云向量数据库正式上线公测!提供10亿级向量检索能力

    今日,腾讯云向量数据库(Tencent Cloud Vector DB)正式上线公测,点击本文末尾的“阅读原文”,即可申请体验。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。 此前,腾讯云向量数据库的向量化能力(embedding)曾多次获得权威机构认可,2021年曾登顶MS MARCO榜单第一、相关成果已发表于NLP顶会EMNLP。

    60530编辑于 2023-08-03
  • 告别 Token 焦虑:我给 OpenClaw 装上了腾讯云向量,成本直降 90%!

    2.腾讯云向量:给“龙虾”塞进一个动态外脑就在大家伙儿都在卷“模型上下文长度”的时候,腾讯云搞了个挺绝的操作:向量(COSVectorBucket)。 初始Context:还没开口说话,10,000个Token就已经预定出去了。单轮开销:约$0.1$元(假设单价)。AI表现:偶尔会把“查天气”和“查机票”的指令搞混,逻辑开始打架。 实验B:向量模式(智能路由)同样是这50个Skill,全部丢进腾讯云向量。初始Context:几乎为零。单轮开销:因为只检索了相关的1个Skill,Token消耗降低了92%!AI表现:干净利落。 你可以尽情地写,向量会帮你处理好“注意力”的问题。 开发者社区里已经有很多大佬分享了创意实践,不管是做私人助理、代码专家还是行业知识库,向量的表现都堪称惊艳。

    58021编辑于 2026-03-14
  • 来自专栏腾讯云存储

    巧用 COS 向量给 OpenClaw 装上智能路由,Token 狂降92%!

    COS 向量完美解决了我们的痛点: 开箱即用,免运维:不需要搭集群,不需要调优内存,就像建一个普通的存储一样,1 分钟搞定。 图注:三步部署流程——激活向量、构建 Skill 索引、挂载拦截 Hook 三、效果炸裂:这是一份能给老板看的成绩单 这套基于 COS 向量的路由系统上线后,我们模拟了 10 个典型用户的查询场景( ,所有向量操作开箱即用! ,采用cos-vectors-skill来操作cos向量。 是时候用 COS 向量给它做个“减负手术”了! 立即前往 https://console.cloud.tencent.com/cos/bucket 创建向量

    1K32编辑于 2026-03-16
  • 来自专栏用户2442861的专栏

    排序

    ]存储((i-1)*10, i*10]的整数,i = 1,2,..100。 ];//指针数组 int n=1;//用于取整数各位上的值 int index;//数组下标计数索引 int indexs[10];//各个下标计数索引 int i,j;   //分配动态内存作为 for(i=0;i<10;++i)           buckets[i]=(elementType *)malloc(sizeof(elementType) 数组至 for(i=0;i<len;++i)           {               n=(int)(r[i]*10);   //printf("%d   ",n);              {               quickSort(buckets[i],indexs[i]);           }   //至数组 for(i=0;i<10;++i)   for

    77240发布于 2018-09-14
  • 来自专栏我的博客

    排序

    排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。 每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用排序进行排序) 思想: 设待排序序列的元素取值范围为0到m,则我们新建一个大小为m+1的临时数组并把初始值都设为0,遍历待排序序列 示例: $v){ for($i = 0; $i < $v; $i++) { echo $k; } } 应用大量数据排序 比如9亿不重复的9位数字排序,可以初始化10

    72860发布于 2018-04-28
  • 来自专栏后端知识体系

    排序

    # LeetCode-排序 排序算法回顾 示例1 输入: nums = [4,0,1,2,0,5] 输出: [0,0,1,2,4,5] # 解题思路 排序(Bucket Sort)的原理很简单 在排序时,创建容量为MAX的数组r,并将数组元素都初始化为0;将容量为MAX的数组中的每一个单元都看作一个""。 在排序时,逐个遍历数组a,将数组a的值,作为"数组r"的下标。 class BucketSort2 { public static void main(String[] args) { int[] arr = {4, 0, 1, 2, 0, 10 ,在计数排序中,每个只存储相同的元素 而排序中每个存储一定范围的元素,通过映射函数,将待排序数组中的元素存储到各个对应的中 之后对每个中的元素进行排序 最后将非空桶中的元素逐个放入原序列中 排序需要尽量保证元素分散均匀 主要步骤有: N次循环,将每个元素装入对应的中 M次循环,对每个中的数据进行排序(平均每个有N/M个元素) 一般使用较为快速的排序算法,时间复杂度为O(nlogn),实际的排序过程是以链表形式插入的

    41630编辑于 2022-07-14
  • 来自专栏hotarugaliの技术分享

    排序

    简介   排序是将待排序序列分到有限数量的中,然后对每一个分别进行排序。 排序的前提假设为被排序序列的关键字数值符合均匀分布,此时排序的平均时间复杂度为 ,最坏时间复杂度为 其中 为的数量。当数量 时,此时排序的复杂度为线性复杂度 。   排序是非原址的,其稳定性取决于内层排序的稳定性。一般采用稳定的插入排序作为内层排序算法,此时排序是稳定的。 2. 思想 排序的主要思想是对待排序序列的关键字数值进行分块,每一块对应一个,然后对每个使用插入排序(或其他排序算法)进行排序,最后将所有中的元素串联起来即得到有序序列。 3. 实现 3.1 伪代码 BucketSort(A, mx, n) { // mx 为最大数值,n 为数量 // 定义 n 个 define bucket[n] // 计算分块的块大小

    41830编辑于 2022-03-01
  • 来自专栏Jed的技术阶梯

    排序

    排序是一种排序的思想,其实现包括计数排序和基数排序两种,冒泡排序、选择排序、插入排序、归并排序、快速排序和堆排序都是基于比较的排序,而排序提出了一种新的思路,即基于数据状态的排序。 1. 排序的思想 (1) 得到无序数组的取值范围 ? (2) 根据取值范围"创建"对应数量的"" ? (3) 遍历数组,把每个元素放到对应的""中 ? (4) 按照顺序遍历中的每个元素,依次放到数组中,即可完成数组的排序。 ""是一种容器,这个容器可以用多种数据结构实现,包括数组、队列或者栈。 2. ,总的来说为O(n) 稳定性:排序是否稳定取决于""用什么数据结构实现,如果是队列,那么可以保证相同的元素"取出去"后的相对位置与"放进来"之前是相同的,即排序是稳定的,而如果用栈来实现"",则排序一定是不稳定的 ,因为排序可以做到稳定,所以排序是稳定的排序算法 3.

    1.3K60发布于 2019-05-09
  • 来自专栏数据结构与算法

    排序

    排序        排序的思想是若待排序的记录的关键字在一个明显有限范围内(整型)时,可设计有限个有序,每个桶装入一个值(当然也可以装入若干个值),顺序输出各的值,将得到有序的序列。 3 int a[100001]; 4 int b[100001]; 5 int maxn=-1; 6 int main() 7 { 8 int n; 9 cin>>n; 10

    61990发布于 2018-04-12
  • 来自专栏用户1175783的专栏

    # 排序

    # 排序 # 原理 求出无序集合的最大值与最小值(这里的最小值指存在负数的情况),创建对应的数组长度 length=max+1 这里要处理一下负数 if min<0: length+=abs(min) 该length就是数组的长度,并创建这个数组将所有值初始化为0 然后遍历无须数组,修改中元素的个数(数组所以对应的值就是无需数组中相同值的个数) 最后只需要将数组中值大于 # 实现 inputArr = [ 11,10,199383, 34, -1,-32,-29, 4, 0, 34, 5, 4, 36, 1, 8, 123, 453, 1008] print("未排序集合 minItem>item): minItem=item # 最小值,最大值 print("min:{0}\tmax:{1}".format(minItem,maxItem)) # 创建数组 minItem<0): length+=abs(minItem) bigArr=[0]*length for item in inputArr: bigArr[item]+=1 # 将中的数据放到对应的有序数组上

    45220发布于 2019-09-10
  • 来自专栏灰子学技术

    限速之令牌和漏算法

    对于限速来说,最常用的两个算法是:令牌算法和漏算法,下面我们便来看下它们是怎么回事。 一、令牌: 令牌这种控制机制基于令牌中是否存在令牌来指示什么时候可以发送流量。 如果令牌中存在令牌,则允许发送流量;而如果令牌中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌中有足够的令牌,那么流量就可以以峰值速率发送。 令牌的工作过程: 1.令牌根据时间匀速的产生令牌数量,这里假设是r,存入到令牌中. 2.令牌在初始化的时候,会分配一定数量的令牌数capicity。 当前时间t内可以消费的令牌数量为: 当前令牌剩余的令牌数(这里最大是capicity) + r*t 二、漏可以看作是一个带有常量服务时间的单服务器队列,如果漏(包缓存)溢出,那么数据包会被丢弃 在“令牌算法”中,只要令牌中存在令牌,那么就允许突发地传输数据直到达到用户配置的门限,因此它适合于具有突发特性的流量。

    9.7K32发布于 2020-10-10
  • 来自专栏Java架构-筑基

    10分钟详解Spring全家7大知识点

    Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家。 那么,今天花费10分钟,梳理Spring框架相关知识。 一、Spring知识点-汇总 ---- spring系列包含非常多的项目,可以满足java开发中的方方面面。 事件广播器用来向applicationListener通知各种应用产生的事件,是一个标准的观察者模式; 第9步:是留给子类的扩展步骤,用来让特定的context子类初始化其他的bean; 第10步:把实现了

    1.6K20发布于 2019-04-25
  • 来自专栏LCHub低代码社区

    向量数据库指南》——腾讯云向量数据库Tencent Cloud Vector DB正式上线公测!提供10亿级向量检索能力

    8月1日,腾讯云向量数据库(Tencent Cloud Vector DB)已正式上线公测。在腾讯云官网上搜索“向量数据库”,就可以正式体验该产品。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 图片 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 图片 点击进入腾讯云向量数据库Tencent Cloud Vector DB 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 图片 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。

    1.4K310编辑于 2023-08-01
  • 来自专栏搜云库技术团队

    接口限流算法:漏算法&令牌算法

    这时候漏算法可能就不合适了,令牌算法更为适合。 令牌算法的原理是系统以恒定的速率产生令牌,然后把令牌放到令牌中,令牌有一个容量,当令牌满了的时候,再向其中放令牌,那么多余的令牌会被丢弃;当想要处理一个请求的时候,需要从令牌中取出一个令牌,如果此时令牌中没有令牌 acquire = limiter.acquire(1); } else if (i == 2) { acquire = limiter.acquire(10 预消费能力 从输出结果可以看出,指定每秒放1个令牌,RateLimiter具有预消费的能力: acquire1 时,并没有任何等待 0.0 秒 直接预消费了1个令牌 acquire10时,由于之前预消费了 1 个令牌,故而等待了1秒,之后又预消费了10个令牌 acquire2 时,由于之前预消费了 10 个令牌,故而等待了10秒,之后又预消费了2个令牌 acquire20 时,由于之前预消费了 2 个令牌

    1.6K30发布于 2019-10-18
  • 来自专栏C++信息学奥赛

    杨校老师课堂之排序——计数

    遍历循环(输出阶段):for (int i = 1; i <= 10; i++) 遍历 1-10 的数字,输出每个数字及其对应的出现次数(第一套代码);或在遍历中查找最大值(第二套代码)。 现在老师挑选出10件展品,编号1~10,由50位同学进行投票,投票过程结束之后计算出每件展品的得票情况。 现在老师挑选出10件展品,编号1~10,由50位同学进行投票,投票过程结束之后计算出得票最高的展品编号及票数。 输入描述输入10个编号,分别代表10位评委的选票。输出描述得票最高者的编号以及得票,中间用空格隔开。 ; ++i){ // 循环10次,从1到10 cin>>t; // 从标准输入读取一个整数赋值给t ++a[t]; // 将数组a中下标为t的元素值加1 }

    27000编辑于 2025-07-03
  • 来自专栏Java技术栈

    接口限流算法:漏算法&令牌算法。

    限流算法 既然要限流,就得提到限流算法了,一般有漏算法和令牌算法两种限流算法。 令牌算法的原理是系统会以一个恒定的速度往里放入令牌,而如果请求需要被处理,则需要先从里获取一个令牌,当里没有令牌可取时,则拒绝服务。 漏算法和令牌算法的选择 漏算法与令牌算法在表面看起来类似,很容易将两者混淆。但事实上,这两者具有截然不同的特性,且为不同的目的而使用。 漏算法与令牌算法的区别在于,漏算法能够强行限制数据的传输速率,令牌算法能够在限制数据的平均传输速率的同时还允许某种程度的突发传输。 因此,漏算法对于存在突发特性的流量来说缺乏效率。而令牌算法则能够满足这些具有突发特性的流量。通常,漏算法与令牌算法结合起来为网络流量提供更高效的控制。

    4.5K90发布于 2018-03-30
  • 来自专栏C++信息学奥赛

    杨校老师课堂之排序——标记

    签到问题【题目描述】老师带领10位同学去博物馆参观,这10位同学编号1~10。通过签到确定已经有8位同学到达,请输出未到达同学的编号。 【输入样例】3 2 9 10 6 4 5 7【输出样例】1 8#include <iostream>using namespace std;int main() { int a[15] = {0} ; // 定义数组a,用于标记1-10范围内的数字是否出现过,初始全为0 int t; // 第一阶段:读取前10个输入,标记出现过的数字 for (int i = 1; i <= 10; i++) { cin >> t; a[t] = 1; // 将输入的数字t对应的数组位置标记为1(表示出现过) } // 第二阶段 :再读取10个输入,但此处逻辑存在问题 // 本意可能是检查这10个输入中哪些在前10个输入中未出现 // 但代码错误地使用了a[i](i是循环变量)而非a[t](t是当前输入) for

    19400编辑于 2025-07-03
领券