Python 解析“长得像 list 的 Document 字符串“:
Python 解析长得像 list 的 Document 字符串提取 page 并拼接别再无脑 eval这是字符串转 list 系列的第 2 题。第 1 题里字符串是标准的 JSON / Python 列表用json.loads/ast.literal_eval就能解决。但这一题的字符串不是普通列表而是一堆Document(...)——它是 LangChain 里Document对象的字符串表示repr目标取出每个 Document 的page页码并把每页的page_content正文拼接起来。一、为什么第 1 题的方法在这里全部失效这个字符串里既有单引号又有Document(metadata..., page_content...)这种函数调用写法它既不是 JSON也不是 Python 字面量所以第 1 题那套在这里直接报废。二、最稳的解法正则提取不碰 eval最安全既然字符串格式是固定的Document(metadata{...}, page_content...)我们用正则只解析结构不执行任何代码。这样无论来源是否可信都很安全。思路用正则找出每一段Document(...)抓出它的metadata{...}和page_content...从 metadata 里取page: 数字把每段的page_content收集起来按需拼接。✅优点纯正则、零执行、对任意来源都安全不关心page_content里有什么奇怪字符只认结构。 小提示如果原始字符串里的\n是被转义过的\\n两个字符提取出来的是字面量换行符。想要真正的换行拼接前加一句三、拼接时想按页码排序怎么办默认parse_documents是按字符串里出现的顺序返回的。如果你希望结果按page从小到大排四、如果你完全掌控来源用 eval 重建真实 Document如果这段字符串确定是你自己代码print/repr出来的绝对不会被外部篡改也可以直接把它变回真正的Document对象然后像平时一样用.metadata[page]访问⚠️为什么说一般不推荐eval会执行字符串里的任意 Python 代码。一旦这段字符串来自用户、接口、数据库等外部输入别人塞一句__import__(os).system(rm -rf /)就能造成破坏。而且page_content里的转义字符\n会被eval当成真换行解析行为取决于字符串来源不可控。五、正确的设计别把 Document 存成 repr 字符串Document的repr只是给人看的调试输出不是稳定的序列化格式。如果你要持久化或传输 Documents请用 JSON / pickle这样以后无论是取page、拼正文还是存数据库都规规矩矩不用再跟repr字符串斗智斗勇。六、三种方式对比方式安全性是否需可信来源适用场景正则提取推荐高否只能拿到字符串、来源不可信或不想引依赖eval重建 Document低代码注入是你 100% 信任这段 repr 字符串、临时调试JSON 序列化 / 反序列化高否从设计上就该这么存/传根本不该出现 repr 字符串七、总结字符串里是Document(metadata..., page_content...)这种repr不是 JSON / 字面量json.loads/ast.literal_eval都救不了首选正则提取抓metadata里的page和page_content安全又稳需要真实Document对象且来源可信时可用eval但务必清楚它的注入风险治本办法从一开始就用json.dumps序列化 Document而不是把repr当数据存。一句话拿 page、拼正文用正则想省事又安全从源头改用 JSON。

相关新闻

AI大模型API集成实战:从零构建多模型客户端与错误处理

AI大模型API集成实战:从零构建多模型客户端与错误处理

在 AI 应用开发领域,将大模型能力集成到现有产品中已成为提升用户体验和功能创新的关键路径。无论是 Claude 内置浏览器带来的上下文感知,Google 搜索与应用的无缝衔接,还是 Spotify 这类娱乐平台对 AI 的探索,其背后都离不开一套…

2026/8/11 3:34:25 阅读更多 →
图像融合技术全解析:从传统算法到深度学习实战指南

图像融合技术全解析:从传统算法到深度学习实战指南

1. 项目概述:为什么你需要一个“图像融合”大合集如果你正在计算机视觉、遥感、医疗影像或者自动驾驶领域做研究或开发,那么“图像融合”这个词对你来说一定不陌生。简单来说,图像融合就是把来自不同传感器、不同模态、或者同一场景不同焦点的…

2026/8/11 3:33:25 阅读更多 →
本地AIGC项目部署实战:从环境准备到API调用的完整指南

本地AIGC项目部署实战:从环境准备到API调用的完整指南

这次我们来看一个名为“思思想要思思又得到”的项目。从项目标题来看,这很可能是一个与AI生成内容相关的本地化工具或模型,其核心功能可能涉及文本生成、图像生成或语音合成等领域的特定应用。这类项目通常由开源社区或独立开发者发布,旨在解…

2026/8/11 3:33:25 阅读更多 →

最新新闻

从Codex源码到生产级AI Agent Runtime:工程化架构与核心模式解析

从Codex源码到生产级AI Agent Runtime:工程化架构与核心模式解析

1. 从开源项目到生产系统:一次工程思维的跃迁最近在社区里看到不少朋友在讨论如何基于 OpenAI 的 Codex 模型或者类似的大型语言模型(LLM)来构建自己的 AI Agent(智能体)。大家兴致勃勃地跑通了几个 Demo,用…

2026/8/11 4:22:50 阅读更多 →
从静态指令到动态循环:构建自驱动AI智能体的核心原理与实践

从静态指令到动态循环:构建自驱动AI智能体的核心原理与实践

1. 从“保姆式”Prompt到“自驱动”Agent的范式转变最近在折腾AI应用开发的朋友,估计都经历过一个阶段:为了完成一个稍微复杂点的任务,比如分析一份数据报告并生成PPT,你得写一个巨长无比的Prompt。这个Prompt里,你得把…

2026/8/11 4:22:50 阅读更多 →
数据结构(5)二叉树的存储、创建与四种遍历算法

数据结构(5)二叉树的存储、创建与四种遍历算法

一、二叉树的基本概念二叉树(Binary Tree)是每个节点最多拥有两棵子树的树结构,通常子树被称作"左子树"和"右子树"。1.1 二叉树的递归定义二叉树是 n(n≥0)个节点的有限集合,该集合或者…

2026/8/11 4:22:50 阅读更多 →
显卡健康检测利器:memtest_vulkan显存稳定性测试全攻略

显卡健康检测利器:memtest_vulkan显存稳定性测试全攻略

显卡健康检测利器:memtest_vulkan显存稳定性测试全攻略 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 在数字时代,显卡已成为计算机系统…

2026/8/11 4:22:50 阅读更多 →
CPPM报名需要什么资料?在职采购人员准备指南

CPPM报名需要什么资料?在职采购人员准备指南

很多采购人员已经具备多年工作经验,却因为不清楚报名资料、审核流程和时间安排,迟迟没有开始准备。实际上,提前把个人信息和工作经历整理清楚,可以减少报名阶段反复补充材料的情况。一、CPPM报名通常需要哪些资料不同批次的具体要…

2026/8/11 4:22:50 阅读更多 →
5分钟免费iOS激活锁绕过指南:Applera1n解锁iPhone 6s-X完整方案

5分钟免费iOS激活锁绕过指南:Applera1n解锁iPhone 6s-X完整方案

5分钟免费iOS激活锁绕过指南:Applera1n解锁iPhone 6s-X完整方案 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n Applera1n是一款专为iOS 15-16系统设计的免费激活锁绕过工具,专…

2026/8/11 4:21:50 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →