微信扫码
添加专属顾问
我要投稿
文本切分五个层级:
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-06-14
AI开发实战:解决RAG的召回不准问题
2025-06-13
揭开RAG的神秘面纱:90%的人不知道腾讯IMA底层原理
2025-06-13
金融智脑:破解RAG系统在金融场景中常见失败的七大陷阱
2025-06-13
从零开始学 Dify - Dify 的 RAG 系统如何有效地处理和检索大量文档?
2025-06-13
大模型:多种RAG组合优化(langchain实现)
2025-06-12
深入使用 Deep Research 后,我确信 RAG 的未来是 Agent
2025-06-12
从传统 RAG 到知识图谱 + Agent,知识库 AI 问答成功率终于达到 95% 了,来自蚂蚁集团的经验
2025-06-12
GraphRAG变种这么多,该采用哪种?九大GraphRAG评估参考
2025-03-21
2025-03-20
2025-03-24
2025-03-17
2025-03-24
2025-03-19
2025-03-24
2025-03-28
2025-04-01
2025-03-23
2025-06-13
2025-06-09
2025-06-06
2025-05-30
2025-05-29
2025-05-29
2025-05-23
2025-05-16