微信扫码
与创始人交个朋友
我要投稿
文本切分五个层级:
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-09-20
快手B端商业化技术探索:基于LLM构建智能RAG与Agent平台
2024-09-20
RAG高级优化:一文看尽query的转换之路
2024-09-20
Agent+RAG+大纲驱动,AI创作新风暴
2024-09-20
RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
2024-09-20
HippoRAG:模拟大脑记忆思索机制的 RAG
2024-09-20
在长上下文LLM的时代,RAG是否仍然必要?
2024-09-18
Golden-Retriever:提升工业知识库检索准确性
2024-09-18
大模型RAG最佳实践指南
2024-07-18
2024-07-08
2024-07-09
2024-06-20
2024-05-05
2024-07-09
2024-06-13
2024-07-07
2024-07-07
2024-07-14
2024-09-20
2024-09-16
2024-09-12
2024-09-11
2024-09-10
2024-09-09
2024-09-07
2024-09-04