Spaces:
Running
Running
A newer version of the Streamlit SDK is available:
1.45.0
大模型应用技术原理
- RAG
- 向量数据库 对比
- 选型标准
- 开源vs.闭源vs. 源码可见
- 客户端/SDK语言
- 托管方式
- self-hosted/on-premise
- redis,pgvector,milvus
- managed/cloud-native
- zilliz,pinecone
- embeded+cloud-native
- chroma,lanceDB
- self-hosted+cloud-native
- vald,drant,weaviate,vspa,elasticsearch
- self-hosted/on-premise
- 索引方法
- 算法
- 量化
- PQ(Product Quantization)
- PQ 将特征空间分解为多个低维子空间的笛卡尔乘积,然后单独地对每一个子空间进行量化
- SQ(Scalar Quantization)
- SQ是将每一个维度量化成指定位数的一个数
- PQ(Product Quantization)
- 主流方案
- professional
- weaviate
- 文档丰富,容易上手
- 提供混合索引
- 支持自托管+云原生
- 4.支持python,js,ts,go,java等客户端
- 支持HNSW,HNSW-PQ,DisANN等索引
- chroma
- LanceDB
- pinecone
- 完全云原生,非常容易上手
- 自建复合索引
- faiss
- 1.来自 Meta AI(原 Facebook Research)的开源项目
- 2.同时支持cpu和GPU两种设备
- 支持C++,python, go等客户端
- 支持常见的索引方式,如IVF,HNSW,支持PQ量化
- in-memory运行
- self-hosted
- milvus
- 通过代理、负载均衡器、消息代理、Kafka和Kubernetes的组合实现了高度可扩展性,这使得整个系统变得非常复杂和资源密集
- 截至2023年,它是唯一一个提供可工作的DiskANN实现的主要供应商
- 支持在向量相似度检索过程中进行标量字段过滤,实现混合查询
- 采用 存储与计算分离 的架构设计
- 提供python,juava,go,node.js等语言SDK,也提供milvus lite等in-momery运行
- 提供了图形界面客户端
- weaviate
- traiditional
- ES
- redis
- pgvector
- professional
- 选型标准
- Embedding模型
- bi-encoder
- cross-encoder
- 【可选】文本检索引擎
- ElasticSearch
- OpenSearch
- 【可选】图数据库
- 检索
- 向量检索
- 关键字检索
- BM25
- NL2Cypher
- NL2SQL
- RAG增强
- Self-RAG
- 框架
- 训练
- 首先,训练评论家,使用检索器检索到的段落以及反思令牌增强指令-输出数据,然后,使用标准的下一个 token 预测目标来训练生成器 LM,以学习生成 自然延续(continuations)以及特殊 tokens (用来检索或批评其自己的生成内容).
- 推理
- 它可以适应性地使用检索令牌进行检索,因此模型可以自发判断是不是有必要进行检索。它引入了多种细粒度的批评令牌,这些令牌用于评估生成内容的各个方面的质量。在生成过程中,作者使用期望的批评令牌概率的线性插值进行segment级的beam search,以在每一个时间步骤中确定最佳的K个续写方案
- Self-RAG
- 向量数据库 对比
- Agent
- function call
- ToolFormer
- function call