Embedding 之大规模数据拆分

构建RAG后如何选择合适的Embedding 当我们需要为特定的客户支持系统挑选最合适的文本嵌入模型以实现高效的FAQ检索时,我们该如何做出选择?以下是一个详细的案例分析,展示如何根据具体需求从众多模型中筛选出最合适的那一个。案例背景假设我们要构建一个客户支持系统,用于快速准确地回答用户的常见问题(FAQ)。该系统需要满足以下要求:处理客户提出的问题,问题长度通常在10到100字之间。检索结果要具有高准确性,确保提供的答案与用户问题高度相关。系统需要在每月200至400美元的预算内运行,同时兼顾响应速度和可扩展性。选择过程。 阅读详情

Embedding 之大规模数据拆分

受限于常见 LLM 的上下文大小,例如 gpt3.5t 是 16k、gpt4t 是 128k,我们并不能把完整的数据整个塞到对话的上下文中。

即使数据源接近于 LLM 的上下文窗口大小,llm 在读取数据时很容易出现分神,或者忽略其中部分细节的问题。

因此,我们需要对数据进行拆分,然后将最关联的内容输入给 LLM,以便 LLM 能够更好的理解数据。

分割数据

对于分割来说,将数据分割成具有独立逻辑的段落是比较好的选择,段落分割的质量越高,意味着 RAG 的效果越好,LLM 返回数据的质量就越好。

langchain 目前提供的切分工具有:

  • Recursive: 根据给定的切分字符(例如 \n\n、\n等),递归的切分
  • HTML: 根据 html 特定字符进行切分
  • Markdown: 根据 md 的特定字符进行切分
  • Code: 根据不同编程语言的特定字符进行切分
  • Token: 根据文本块的 token 数据进行切分
  • Character: 根据用户给定的字符进行切割

RecursiveCharacterTextSplitter

RecursiveCharacterTextSplitter 默认的分隔符列表是 [“\n\n”, “\n”, " ", “”], 你可以理解为它将文本分割后,在根据设置的 chunk 大小进行组装。

最影响切分质量的就是两个参数:

  • chunkSize: 定义切分块的大小
  • chunkOverlap: 定义块与块之间重叠的大小。较大的重叠可能会导致分割的内容重复,较小的重叠可能会导致分割的内容不完整。

// RecursiveCharacterTextSplitter 对文本进行分割
// https://chunkviz.up.railway.app/
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
import { TextLoader } from 'langchain/document_loaders/fs/text';

const text = new TextLoader('./data/kong.txt');
const docs = await text.load();

const splitter = new RecursiveCharacterTextSplitter({
    chunkSize: 64, // 分块的大小
    chunkOverlap: 0, // 块之间的重叠
});

const splitDocs = await splitter.splitDocuments(docs);

console.log(splitDocs);


9.png

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

基于 Embedding 的智能汽车推荐系统 Embedding 是一种将复杂的数据(如文字、图像、声音等)转化为计算机可处理的向量表示的技术。它在自然语言处理、图像识别、语音分析等任务中有广泛应用。文字处理Embedding 将单词映射到向量空间中,向量的距离反映了单词之间的语义相似性。例如,“苹果”和“橘子”的向量可能非常接近,表示它们在语义上是相似的。图像处理Embedding 会提取图像中的关键特征(如颜色、形状、风格等),并将这些特征映射为向量。基于这些向量,计算机可以进行图像分类、相似性匹配等操作。语音处理。 阅读详情

相关推荐

014、索引高级实战:当单一向量库不够用的时候

上周排查一个线上问题,用户反馈“找相似文档”功能时灵时不灵。跟踪日志发现,当用户查询涉及多个专业领域时,返回结果总是偏向某一个方向。打开向量库一看——好家伙,我们把所有类型的文档(技术手册、用户反馈、产品介绍)全塞进了一个ChromaDB集合里。这就像把小说、菜谱、维修手册混在一个书架上,然后指望读者能快速找到想要的东西。今天我们就聊聊LangChain索引系统的高级玩法:多索引协同、元数据精准过滤、混合检索策略。

G_RE_RE的博客 442

pandas使用chunksize分块处理大型csv文件

最近接手一个任务,从一个有40亿行数据的csv文件中抽取出满足条件的某些行的数据,40亿行。。。如果直接使用pandas的read_csv()方法去读取这个csv文件,那服务器的内存是会吃不消的,所以就非常有必要使用chunksize去分块处理。现在就开始讲chunksize的一些使用。 ** 1.本次任务的目标 ** 红框内是时间戳,需要使用pd.to_datetime()函数去将时间戳转换为...

weixin_43790560的博客 6万+

【人工智能】如何设计和管理向量数据库以存储 Embedding 数据?

向量数据库设计与管理的核心要点 设计阶段:需明确业务需求(如RAG、推荐系统)、数据特征(维度、数据量)及查询指标(延迟、QPS)。架构设计需平衡存储与检索效率,选择单机(FAISS)或分布式(Milvus)部署。数据模型应优化向量精度(如float16)和元数据索引,索引算法(HNSW、IVF)需根据场景权衡速度与召回率。 管理阶段:需实现数据全生命周期管理,包括批量/实时写入、冷热分离和索引动态更新。性能优化通过参数调优(如HNSW的M和ef_construction)、缓存预热和硬件加速(GPU/SS

奶爸的编程之路,也就一周冷个三天 165

【Python】chunksize分块读取 *[list] isinstance(a, str)

目录一、场景需求二、技术重点2.1 数据分块读取2.2 对日期分列,以便按年月日分别可视化2.3 isinstance(a, str) 判断数据类型三、完整代码 一、场景需求 2019-2020年Covid-19数据,20多万行,提取一部分数据,以便进一步做可视化分析。 二、技术重点 2.1 数据分块读取 一般数据超过5万行,就建议分块读取,可以减轻系统压力,提高数据处理效率。 这次的20多万行,其实一次性读入也行,就是有点吃力,但如果是2000万行、20亿行呢?那就必须分块了。稍微有点规模的数据库上亿的

专注于医院数据分析技术与系统开发的创作与分享。 1519

发票OFD格式转换成PDF

发票OFD格式转换成PDF

Be_insighted的博客 934

保姆级教程:手把手教你给联想System x 3650 M5服务器配置RAID 5并U盘装系统

本文提供联想System x 3650 M5服务器配置RAID 5并U盘安装系统的详细教程,特别适合零基础运维人员。从准备工作、RAID 5配置到U盘引导和系统安装,涵盖全流程关键步骤与常见问题解决方案,帮助用户高效完成服务器部署。

weixin_42535703的博客 359

【Pandas】chunksize分块处理大型csv文件

– 错误的操作导致保存了1TB以上的csv,要对csv重新读取处理,直接使用read_csv()不带任何参数,会把RAM撑爆。 – 所以使用chunksize:不一次性将文件读入内存(RAM)中,而是分多次。 官方示例: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-chunking import pandas as pd import time start = time.perf_counter() # calcula

coding回忆录 2668

ADS与MATLAB数据互通全指南:从Snp文件导入到TXT导出完整流程

本文详细介绍了在射频与微波工程中,实现ADS与MATLAB高效数据互通的完整流程。核心内容包括利用SPOutput控件、数据显示窗口及测量方程等多种方法,将ADS仿真数据(如S参数)导出为Touchstone或TXT格式,并导入MATLAB进行深度分析与可视化;同时指导如何将MATLAB处理后的数据回灌至ADS,用于模型验证与协同仿真,旨在构建自动化、无损的数据交换工作流,提升工程师的工作效率。

pluto的博客 394

pandas性能提升之利用chunksize参数对大数据分块处理

DataFrame是一个重量级的数据结构,当一个dataframe比较大,占据较大内存的时候,同时又需要对这个dataframe做较复杂或者复杂度非O(1)的操作时,会由于内存占用过大而导致处理速度极速下降。 对此,我们的方法是尽量避免直接对过大的dataframe直接操作(当然有时候没有办法,必须对整体的dataframe进行操作,这时就需要从其他方面优化,比如尽量...

S_o_l_o_n的博客 1万+

QT6与QT5安装全攻略:从下载到环境配置一站式指南

本文提供了一份详尽的QT6与QT5安装教程,涵盖从版本选择、在线安装器使用到环境变量配置的全过程。针对新手常见痛点,重点对比了QT6与QT5的安装差异,并给出了MinGW与MSVC编译器的选择建议,旨在帮助开发者快速搭建稳定可用的QT开发环境,避免常见错误。

weixin_29216353的博客 313

TIA博途中S7-1200进行MODBUS TCP通信(作为服务器)的具体方法演示

TIA博途中S7-1200进行MODBUS TCP通信(作为服务器)的具体方法演示

Robot_PLC_HMI_Automation 8617

pandas 分批次读取大文件---chunkSize

当要处理一个较大文件时,一次性加载到内存可能导致内存溢出,pandas提供了一种以迭代器的方式读取文件,我们可以手动设置每个批次要读取的数据条数chunkSize。 import pandas as pd import chardet # 检测文件编码 with open(r'data.txt', 'rb') as f: encode = chardet.detect(f.readline())['encoding'] print(encode) # 建议如果检测出编码为ascii ...

MusicDancing的博客 3754

机器学习实战1-四种算法对比对客户信用卡还款情况进行预测与模型评估

大家好,我是微学AI,今天给大家带来一个机器学习实战案例:利用机器学习的四种算法对比对客户信用卡还款情况进行分类。信用卡又叫贷记卡,是由商业银行或信用卡公司对信用合格的消费者发行的信用证明。现在的年轻人,特别是80后,90后甚至00后到喜欢超前消费,每个人名下多多少少都有至少一张信用卡,有些人由于过度超前消费,导致下个月无法还款导致的逾期,这样会对个人征信产生影响,今天我们就来分析分析具有哪些特性的人会有信用卡逾期的可能。

微学AI的博客 4710

大规模数据下的Embedding拆解技巧:高效处理与优化指南

受限于常见 LLM 的上下文大小,例如 gpt3.5t 是 16k、gpt4t 是 128k,我们并不能把完整的数据整个塞到对话的上下文中。即使数据源接近于 LLM 的上下文窗口大小,llm 在读取数据时很容易出现分神,或者忽略其中部分细节的问题。因此,我们需要对数据进行拆分,然后将最关联的内容输入给 LLM,以便 LLM 能够更好的理解数据。

2401_85373691的博客 607

关键!C#工业上位机界面设计终极指南:WinForm/WPF怎么选?【工业实战完整版,无废话选型+避坑+落地技巧】

工业上位机UI选型指南:WinForm与WPF核心对比 摘要: 本文基于工业实战视角,对比WinForm与WPF在工业上位机开发中的适用性。WinForm凭借GDI+原生渲染、极致兼容性(完美支持Win7/XP)、低资源占用和硬件底层调用优势,成为老旧工控机、简单监控系统和7×24小时运行设备的首选。WPF则依托DirectX硬件加速、MVVM架构和强大可视化能力,更适合复杂可视化大屏、3D模拟等高端场景及需要长期迭代的大型项目。核心选型原则是:优先考虑稳定性与兼容性,WinForm解决"能不能用

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 730

AI大模型:(三)3.2 Spring AI实现Agent

SpringAI实现了流式对话功能,通过与Ollama模型集成完成前后端交互,当前版本存在thinking信息丢失问题。系统支持两种工具注册方式(方法注解和函数式),并内置时间工具类展示外部工具调用能力。记忆功能提供多种存储方案(内存、JDBC、NoSQL等),实现跨对话轮次的上下文保持。MCP协议集成方面,服务端实现计算和业务查询工具,客户端支持12306及自定义业务系统接入。完整演示了流式对话、工具调用与记忆功能的综合应用。该实践构建了具备复杂交互能力的AI系统,同时指出生产环境需关注的安全与优化问题。

haylee的专栏 1012

WWW21:Disentangling User Interest and Conformity for Recommendation with Causal Embedding

DICE 模型利用因果推断技术,将混杂了兴趣与从众性的传统 embedding 解耦。解耦后的 embedding 各自使用特定样本训练,实现了用户兴趣与从众性的巧妙剥离,达到同时利用流行度偏差与用户兴趣以提升推荐指标的目的。

weixin_44286846的博客 472

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

视觉TRANSFORMERS(ViT)

论文:AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGERECOGNITION AT SCALE Github: GitHub - google-research/vision_transformer GitHub - lucidrains/vit-pytorch: Implementation of Vision Transformer, a simple way to achieve SOTA in vision classificatio..

年轻即出发, 1317

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【AI大模型】RAG 与 Embedding

从而在几乎不影响最终效果的情况下降低向量检索与相似度计算的复杂度。text-embedding-ada-002 只支持1536维计算。

lmj3732018的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OpsPilot 技术亮点: Embedding 模型适配大规模数据处理

随着技术的快速发展,检索增强生成(RAG)成为构建智能知识库的核心方案。嘉为蓝鲸 OpsPilot基于 RAG 技术打造高效知识处理体系,在 RAG 预处理环节,提取与分块技术通过精准解析文档结构、拆分语义单元为后续处理奠定基础。而在知识处理的 “下半场”,作为连接预处理与大模型应用的关键桥梁,前者做“翻译家”,把文本变成机器能懂的数字密码,后者则是 “导航器”,用这些密码在知识库快速找到答案。在 RAG 系统中,Embedding一是存于数据库。二是用户提问时,Embedding 模型。

weixin_42556618的博客 1256

前端大模型入门:编码(Tokenizer)和嵌入(Embedding)解析

本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。作者|想飞的雪糕和。本篇文章将对这两个概念进行入门级介绍,并提供了针对前端的js示例代码,帮助读者理解它们的基本原理/作用和如何使用。一、什么是Tokenizer?是一种将自然语言文本转化为模型可以处理的数字表示的工具。

2401_85375186的博客 2201

突破推荐系统算力瓶颈:ColossalAI分布式Embedding表训练实战指南

在当今数据爆炸的时代,推荐系统作为连接用户与信息的核心桥梁,其性能直接影响用户体验与业务增长。然而,随着用户规模和数据维度的指数级增长,传统推荐系统面临着严峻的算力挑战,尤其是在Embedding表训练方面。ColossalAI作为一款高效的分布式训练框架,凭借其强大的并行计算能力和优化策略,为突破这一瓶颈提供了全新的解决方案。本文将详细介绍如何利用ColossalAI进行分布式Embedding

gitblog_01197的博客 720

从离散到连续:Embedding层原理与PyTorch实现详解

在机器学习和深度学习领域,将离散的符号数据转化为连续数值表示是模型理解世界的基础。这一过程的核心是Embedding技术,它通过一个可学习的查找表,将高维稀疏的符号ID映射为低维稠密的向量。这种映射不仅解决了离散数据的无序性和稀疏性问题,更重要的是,它在连续向量空间中编码了语义关系,使得模型能够捕捉到符号之间的相似性和关联性。从自然语言处理中的词向量到推荐系统的用户/物品表示,Embedding已成为现代AI系统的基石技术。本文以PyTorch框架为例,深入解析Embedding层的实现细节,涵盖初始化策略

weixin_34318326的博客 352

JAVA 多线程分段 Embedding 出现乱序?使用 CompletionService 协调结果

首先,我们简单了解一下 Embedding。Embedding 是一种将离散数据(例如文本、图像、音频)转换成连续向量空间的技术。这些向量可以捕捉原始数据的语义信息,方便进行后续的机器学习任务,例如相似度计算、分类、聚类等。在处理大规模数据时,例如对一篇很长的文章进行 Embedding,直接一次性处理可能会导致内存溢出或者处理时间过长。因此,我们通常会将数据分成多个段落,然后分别进行 Embedding。而为了提高处理效率,我们会使用多线程并行处理这些段落。

weixin_41455464的博客 624

大模型入门必看:Embedding技术原理与实战详解

Embedding技术:将现实世界转化为数字向量的核心方法 Embedding技术通过将文字、图片等复杂事物转化为数字向量,使计算机能够理解事物间的关系。其训练过程包含随机初始化、损失计算和反向传播等步骤,最终生成语义化的向量表示。相似度计算(如余弦相似度)可衡量向量间的关联程度,广泛应用于推荐系统、搜索等场景。向量数据库则专门存储和检索这些高维向量,为AI应用提供高效支持。本文还提供了Python代码示例,帮助读者实践Embedding技术。

Trb201013的博客 802
上一篇: coze平台保姆级教程,手把手教你创建属于你的AI Agent
下一篇: [大语言模型:基础与前沿] 首位AI程序员上线,关于LLM的好机会都写在了这本书里!
AI大模型_学习君
博客等级 码龄3年 6138粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值