微信扫码
与创始人交个朋友
我要投稿
文本切分五个层级:
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+中大型企业
2024-11-24
RAGChecker:显著超越RAGAS,一个精细化评估和诊断 RAG 系统的创新框架
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-11-23
RAG 2.0性能提升:优化索引与召回机制的策略与实践
2024-11-22
RAG技术在实际应用中的挑战与解决方案
2024-11-22
从普通RAG到RAPTOR,10个最新的RAG框架
2024-11-22
如何使用 RAG 提高 LLM 成绩
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21