微信扫码
添加专属顾问
我要投稿
文本切分五个层级:
Level 1: Character Splitting - 简单的字符长度切分
Level 2: Recursive Character Text Splitting - 通过分隔符切分,然后递归合并
Level 3: Document Specific Splitting - 针对不同文档格式切分 (PDF, Python, Markdown)
Level 4: Semantic Splitting - 语义切分
Level 5: Agentic Splitting-使用代理实现自动切分
我们在日常数据处理中,不仅仅有txt数据,还包含一些存在结构的数据,例如json、markdown、代码(例如py)、PDF等。今天让我们看看如何处理JSON数据,后续将挑重点介绍。
langchain实现
import requests
from pprint import pprint
# This is a large nested json object and will be loaded as a python dict
json_data = requests.get("https://api.smith.langchain.com/openapi.json").json()
from langchain_text_splitters import RecursiveJsonSplitter
splitter = RecursiveJsonSplitter(max_chunk_size=300)
# 还可以设置min_chunk_size
json_chunks = splitter.split_json(json_data=json_data)
json_chunks = splitter.split_json(json_data=json_data, convert_lists=True)
可以看到,在存在列表的位置,将列表转化为了dict,key为元素所在的位置。langchain中的实现,我们介绍到这,下面看看llama-index是怎么处理的:
llama-index实现
import json
from llama_index.core.node_parser import JSONNodeParser
from llama_index.core import Document
parser = JSONNodeParser()
切分文档
nodes = parser.get_nodes_from_documents(
[Document(text=json.dumps(json_data))]
)
可以看出,llama_index将json切分成了一个个小块。我们可以进一步做切分处理。
JSON的切分就讲到着,大家感觉是不是很有用呢?下篇文章我们将继续分享。
如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。
好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~
往期推荐
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-08
万字长文详解腾讯优图RAG技术的架构设计与创新实践
2025-09-08
运用 Elasticsearch 进行向量搜索及创建 RAG 应用
2025-09-08
通过两个案例,看RAG如何解决大模型的“知识短板”
2025-09-06
给AI装上一个'超级大脑':信息检索如何改变RAG系统的游戏规则
2025-09-05
别让你的RAG“吃”垃圾数据了!从源头构建高质量知识库的深度文档解析指南
2025-09-05
别再说你的RAG召回率不行,都怪你文档处理的太差——别拿文档处理是难点当借口
2025-09-05
【RAG的16种玩法】反馈闭环、自适应检索增强(中)
2025-09-04
在RAG文档处理中——怎么处理噪音问题
2025-06-20
2025-06-20
2025-07-15
2025-06-24
2025-06-24
2025-07-16
2025-06-23
2025-07-09
2025-06-15
2025-06-20
2025-09-03
2025-08-28
2025-08-25
2025-08-20
2025-08-11
2025-08-05
2025-07-28
2025-07-09