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

python(五)rag学习一:文档分割

1、代码:

#!/usr/bin/env python # -*- coding: UTF-8 -*- # -*- encoding:utf-8 -*- # import re # # text = "自然语言处理(NLP),作为计算机科学、人工智能与语言学的交融之地,致力于赋予计算机解析和处理人类语言的能力。在这个领域,机器学习发挥着至关重要的作用。利用多样的算法,机器得以分析、领会乃至创造我们所理解的语言。从机器翻译到情感分析,从自动摘要到实体识别,NLP的应用已遍布各个领域。随着深度学习技术的飞速进步,NLP的精确度与效能均实现了巨大飞跃。如今,部分尖端的NLP系统甚至能够处理复杂的语言理解任务,如问答系统、语音识别和对话系统等。NLP的研究推进不仅优化了人机交流,也对提升机器的自主性和智能水平起到了关键作用。" # # # 正则表达式匹配中文句子结束的标点符号 # sentences = re.split(r'(。|?|!|\..\..)', text) # print(sentences) # def split_by_fixed_char_count(text, count): # chunks = [] # for i in range(0, len(text), count): # chunks.append(text[i:i + count]) # return chunks # # # text = "自然语言处理(NLP),作为计算机科学、人工智能与语言学的交融之地,致力于赋予计算机解析和处理人类语言的能力。在这个领域,机器学习发挥着至关重要的作用。利用多样的算法,机器得以分析、领会乃至创造我们所理解的语言。从机器翻译到情感分析,从自动摘要到实体识别,NLP的应用已遍布各个领域。随着深度学习技术的飞速进步,NLP的精确度与效能均实现了巨大飞跃。如今,部分尖端的NLP系统甚至能够处理复杂的语言理解任务,如问答系统、语音识别和对话系统等。NLP的研究推进不仅优化了人机交流,也对提升机器的自主性和智能水平起到了关键作用。" # # # 假设我们按照每100个字符来切分文本 # chunks = split_by_fixed_char_count(text, 100) # # print(chunks) # -*- encoding:utf-8 -*- # def sliding_window_chunks(text, chunk_size, stride): # chunks = [] # for i in range(0, len(text), stride): # chunks.append(text[i:i + chunk_size]) # return chunks # # # text = "自然语言处理(NLP),作为计算机科学、人工智能与语言学的交融之地,致力于赋予计算机解析和处理人类语言的能力。在这个领域,机器学习发挥着至关重要的作用。利用多样的算法,机器得以分析、领会乃至创造我们所理解的语言。从机器翻译到情感分析,从自动摘要到实体识别,NLP的应用已遍布各个领域。随着深度学习技术的飞速进步,NLP的精确度与效能均实现了巨大飞跃。如今,部分尖端的NLP系统甚至能够处理复杂的语言理解任务,如问答系统、语音识别和对话系统等。NLP的研究推进不仅优化了人机交流,也对提升机器的自主性和智能水平起到了关键作用。" # # chunks = sliding_window_chunks(text, 100, 50) # 100个字符的块,步长为50 # # for i, chunk in enumerate(chunks): # print(f"块 {i + 1}: {len(chunk)}: {chunk}") from langchain_text_splitters import RecursiveCharacterTextSplitter text = "自然语言处理(NLP),作为 计算机科学、人工 智能与语言学 的交融之地,致力于赋予计算机解析和处理人类语言的能力。在这个领域,机器学习发挥着至关重要的作用。利用多样的算法,机器得以分析、领\n会乃至创造我们所理解的语言。从机器翻译到情感分析,从自动摘要到实体识别,NLP的应用已遍布各个领域。随着深度学习技术的飞速进步,NLP的精确度与效能均实现了巨大飞跃。如今,部分尖端的NLP系统甚至能够处理复杂的语言理解任务,如问答系统、语音识别和对话系统等。NLP的研究推进不仅优化了人机交流,也对提升机器的自主性和智能水平起到了关键作用。" # aa = text.split('\n') # for i in aa: # print(i.split(' ')) # print(aa) # chunk_overlap 防止语义冲突 split = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=10, separators=["\n", '']) chunks = split.split_text(text) for i, chunk in enumerate(chunks): print(f"块 {i + 1}: {len(chunk)}: {chunk}")

2、先下载依赖包

pip install langchain_text_splitters

3、运行结果

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

相关文章:

  • 视觉语言导航技术:多模态融合与强化学习优化实践
  • 2026年5月有实力的沈阳混合砂浆厂家如何选厂家推荐榜,普通聚合物防水砂浆、刚性防水砂浆、柔性防水砂浆厂家选择指南 - 海棠依旧大
  • 支付与订阅系统开发指南:领域驱动设计与Paynless框架实战
  • .NET 9本地AI部署终极方案(含ONNX+ML.NET+LLMSharp三引擎对比实测)
  • 自然语言转SQL:基于LLM的数据库查询工具架构与实践
  • 告别命令行焦虑:在VSCode里可视化调试你的第一个Vue3 + Element Plus项目
  • YOLO26-seg分割优化:卷积魔改 | 轻量化双卷积DualConv,完成涨点且计算量和参数量显著下降
  • 2026年目视化咨询哪家靠谱:6S管理咨询、目视化咨询、目视化管理、目视化设计、精益化咨询、精益咨询、精益生产咨询选择指南 - 优质品牌商家
  • RosTofu:ROS2包装器实现非原生应用无缝集成与自然语言控制
  • 大语言模型驱动数字人:从语音合成到实时动画的工程实践
  • 2026年5月靠谱的女童T恤品牌怎么选择厂家推荐榜,运动女童T恤、纯棉女童T恤、印花女童T恤、快时尚女童T恤厂家选择指南 - 海棠依旧大
  • 2026年5月评价高的东莞电阻器厂家怎么选择推荐榜,梯形铝壳电阻器、变频制动电阻柜、中性点接地电阻柜厂家选择指南 - 海棠依旧大
  • 如何轻松永久保存微信聊天记录:WeChatMsg终极解决方案
  • 如何在5分钟内掌握Illustrator批量对象替换脚本ReplaceItems.jsx
  • PAR模型:蛋白质结构预测与设计的多尺度自回归方法
  • # 2026年5月靠谱的武汉漏水维修公司如何选厂家推荐榜,暗管漏水检测/消防管道漏水定位/地埋管漏水维修厂家选择指南 - 海棠依旧大
  • 2026 管理系统行业 GEO 优化服务商 TOP6 深度评测 - GEO优化
  • Sunshine游戏串流:3步打造你的跨设备游戏中心
  • Framer效率插件:自动化与批量操作提升设计工作流
  • 企业如何利用taotoken实现多团队api密钥管理与访问控制
  • 2026年5月有实力的和平区静音发电机出租公司哪家权威厂家推荐榜,100-800kW静音型、超静音型、移动拖车型厂家选择指南 - 海棠依旧大
  • 避坑指南:UniApp里uCharts的Y轴刻度分割(splitNumber)与最大值(max)设置的那些坑
  • 5分钟学会fre:ac音频转换器:免费批量转换MP3、FLAC、AAC终极指南
  • 2026年4月,如何精准选择兼具高性价比与专业实力的吹膜机生产商? - 2026年企业推荐榜
  • 多模态空间推理模型优化与工业实践
  • 手把手教你配置Zotero GPT插件:用gpt-3.5-turbo-16k模型搞定整篇论文总结(附API避坑指南)
  • STM32+ESP8266连接OneNET的完整避坑指南:从固件烧写到APP控制全流程解析
  • YOLO26-seg分割优化:轻量化网络 | 基于特征重用和特征CSO的CAM,创新十足
  • 2026年5月有实力的荆州家庭管道漏水公司有哪些厂家推荐榜,暗管漏水检测/地埋管道漏水检测/消防管道漏水检测/暖气主管网漏水检测/地暖管漏水检测厂家选择指南 - 海棠依旧大
  • MassGen:基于模板引擎的批量文件生成工具设计与实践