微信扫码
添加专属顾问
我要投稿
文本切分五个层级:
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-04-22
RAG应用必备!10种向量数据库全解析、Weaviate、Milvus、pgvector、Qdrant等热门工具谁更强?
2025-04-22
深度拆解RAGFlow分片引擎!3大阶段+视觉增强,全网最硬核架构解析
2025-04-22
国人AI IDE神器Trae+MCP实现知识库检索精度暴涨300%【喂饭级教程】
2025-04-22
理解 RAG 第二部分:经典 RAG 的工作原理
2025-04-22
18种RAG技术大比拼:谁才是检索增强生成的最佳选择?
2025-04-22
AI 是如何"读懂"文字的?Embedding白话解析
2025-04-21
改进RAG:利用混合搜索与重排序优化检索效果(含代码示例)
2025-04-21
检索增强生成(RAG)深度教程
2024-10-27
2024-09-04
2024-07-18
2024-05-05
2024-06-20
2024-06-13
2024-07-09
2024-07-09
2024-05-19
2024-07-07
2025-04-22
2025-04-22
2025-04-20
2025-04-19
2025-04-18
2025-04-16
2025-04-14
2025-04-13