之前的文章集合:
一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客
一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合3_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合4_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合5_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合6_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合7_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合8_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合9_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合10_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合11_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合12_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合13_xuejianxinokok的博客-CSDN博客
一些可以参考的文档集合14_xuejianxinokok的博客-CSDN博客
20231114
基于已有流行数据库以插件形式提供的则有 pgvector 与 Redis Stack
参考 Redis as a vector database quick start guide | Redis
pgvector 提供了 ivfflat 算法以近似搜索,它的工作原理是将相似的向量聚类为区域,并建立一个倒排索引,将每个区域映射到其向量。这使得查询可以集中在数据的一个子集上,从而实现快速搜索。通过调整列表和探针参数,ivfflat 可以平衡数据集的速度和准确性,使 PostgreSQL 有能力对复杂数据进行快速的语义相似性搜索。通过简单的查询,应用程序可以在数百万个高维向量中找到与查询向量最近的邻居。对于自然语言处理、信息检索等,ivfflat 是一个比较好的解决方案。
让我们以 ivfflat 方法为例。在建立 ivfflat 索引时,你需要决定索引中包含多少个 list。每个 list 代表一个 "中心";这些中心通过 k-means 算法计算而来。一旦确定了所有中心,ivfflat 就会确定每个向量最靠近哪个中心,并将其添加到索引中。当需要查询向量数据时,你可以决定要检查多少个中心,这由 ivfflat.probes 参数决定。这就是 ANN 性能/召回率的结果:访问的中心越多,结果就越精确,但这是以牺牲性能为代价的。
由于在 "向量数据库 "和 pgvector 中存储 AI/ML 输出的做法很流行
向量数据库与pgvector - 知乎序言2022 年 11 月 30 日,OpenAI 推出了全新的对话式通用人工智能工具——ChatGPT,ChatGPT 表现出了非常惊艳的语言理解、生成、知识推理能力,ChatGPT 的横空出世拉开了大语言模型产业和生成式 AI 产业蓬勃发展…https://zhuanlan.zhihu.com/p/649779973
关于redisstack的向量数据库
Redis as a vector database quick start guide | Redis
redis/redis-stack-服务器
要使用 redis-stack-server 映像启动 Redis Stack 服务器,请在终端中运行以下命令:
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
`
要使用 redis-stack 映像启动 Redis Stack 容器,请在终端中运行以下命令:
docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
`
上面的 docker run 命令还在端口 8001 上公开 RedisInsight。您可以通过将浏览器指向 localhost:8001 来使用 RedisInsight。
RedisInsight | RedisVisualize and optimize Redis datahttps://redis.io/docs/connect/insight/
SentenceTransformers Documentation — Sentence-Transformers documentationhttps://www.sbert.net/