互联网如同一个永不熄灭的熔炉,每天都有网站消失,就像从未告别的老友。然而,这些看似消失的记忆,实际上隐藏在互联网档案馆(Archive.org)的深处。与其让你的AI从千篇一律的SEO优化文章中学习,不如尝试用互联网档案馆抓取的废弃网站数据来训练它,让它理解那些被遗忘的理念、衰败的知识和从未打算被记住的网络文化。本文将为你详细解读如何利用互联网档案馆的数据,打造一个能理解互联网“废墟”的AI系统。
一、明确目标:在互联网“废墟”中寻找线索
在开始互联网档案馆抓取之前,你需要一个线索,哪怕它并不清晰。可以从那些在现代互联网上踪迹难寻的冷门话题入手。例如,2006年生存主义博客上的DIY电磁脉冲(EMP)屏蔽技术,或是已关闭论坛中基于仪式的图片发布模式,又或者是一位神秘消失的汽车钥匙重编程导师。
关键在于寻找那些曾经风靡一时,如今却无人问津的话题。这些话题往往隐藏在失效的链接背后。你可以像使用钝器一样使用谷歌,例如搜索 site:*.angelfire.com car hacking
。Angelfire是上个世纪末非常流行的免费个人网站空间,上面有很多现在已经失效的链接。或者,你也可以在Reddit等论坛的旧帖中寻找404链接,这些都是绝佳的“饵料”。一旦你收集到一批候选URL,就可以开始利用互联网档案馆挖掘数据了。
二、利用 Wayback Machine API 抓取历史快照
Wayback Machine API 是访问 互联网档案馆 庞大数据宝库的钥匙。虽然它可能不够快速和简洁,但它为你提供了互联网历史快照的惊人访问权限。你可以使用以下端点来检索单个页面的所有存档快照:
http://web.archive.org/cdx/search/cdx?url=example.com&output=json
该API会返回一个JSON格式的快照列表,你需要筛选出最完整的快照。按照时间戳对快照进行排序,选择不同年份的快照,并记录精确的时间戳和原始URL。然后,你可以使用以下格式构建快照URL:
https://web.archive.org/web/[timestamp]/[original URL]
你可以使用BeautifulSoup、wget,甚至headless浏览器来抓取页面内容。抓取后,你需要清理HTML内容以便解析,提取文本信息。由于旧页面通常包含损坏的图像链接和绝对路径,你的主要任务是提取文本,并处理这些链接。例如,可以使用正则表达式或专门的HTML解析库来移除<img>
标签,或者将绝对路径转换为相对路径。
三、去除噪声,保留互联网“声音”
很多人在使用互联网档案馆内容训练AI时,都会犯一个错误,那就是认为数据需要干净整洁。恰恰相反,混乱才是关键。人们曾经的写作方式也是数据的一部分。让你的AI了解人们在自动更正出现之前的打字方式,阅读他们的咆哮、奇怪的语法和未完成的想法。这些都是人类的指纹。
当然,你仍然需要进行一些过滤。可以使用Python脚本提取<body>
标签内的文本,删除<script>
和<style>
标签,并记录页面上每个链接的位置。如果页面包含论坛帖子部分,可以单独抓取该部分并标记每个用户。
记住,你不需要一切。但你需要精华。把自己想象成一位数字考古学家,刮去马赛克上的灰烬,还原它的本来面貌。例如,在提取论坛帖子时,可以着重提取用户ID、发帖时间和帖子内容,并忽略广告和其他无关信息。
四、将数据组织成“记忆”,而非文章
另一个常见的错误是将抓取的页面视为文件,而正确的方法是将它们视为日记条目。每个页面都应该存储在一个以原始域名命名的目录中,并按年份创建子文件夹。在每个文件夹中,你可以保存以下文件:
raw.txt
:包含完整的页面转储。summary.md
:包含稍后生成的摘要。tags.json
:包含元数据,例如主题、风格、语言、语气、写作怪癖、单词密度、情感评分和常用用户名。
此外,你还可以为每个条目分配一个虚构的记忆索引,就像一个梦境图书馆。这样,当你将这些数据输入到AI中时,你给它的不是数百篇文章,而是一个关于早已失落的互联网低语的破碎记忆库。例如,可以将每个网页的URL哈希值作为记忆索引,确保唯一性。
五、微调或嵌入:选择合适的工具
如果你有足够的算力和耐心,可以对本地模型进行微调。但通常情况下,嵌入是一种更模块化的方法。
你可以使用OpenAI的text-embedding-ada-002
模型将每个记忆文件转换为向量。然后,将这些向量存储在本地ChromaDB实例中。你也可以使用Weaviate、Milvus,甚至Pinecone等云端数据库。
现在,你可以运行相似性搜索。例如,你可以询问你的AI:“告诉我2011年流行的汽车钥匙克隆指南是什么?”,它将从已关闭的论坛、scrapeblogs和丢失的目录中找到符合条件的信息。
更棒的是,你可以构建一个像这些论坛一样思考的聊天机器人。它学习的语言是在这些空间中形成的,不仅仅是内容,还有语调。它会模仿真人在没有人力资源部门监督时的打字方式。例如,如果一个论坛经常使用特定的俚语或缩写,聊天机器人也会学习并使用它们。
六、让 AI 自由探索
一旦你拥有了一个充满被遗忘记忆的系统,你就不应该仅仅是提问。你应该让它自由发挥。
我已经让我的AI根据旧论坛发明了新的人物角色。它用1999年Usenet帖子的风格写了一篇教程。它重现了一个关于失落和科幻异化的Geocities诗歌圈的氛围。它根据三篇关于DIY天线改装的文章构建了一个完整的虚假博客存档。
最棒的部分是看着它模拟发现一些私人的、奇怪的,也许还有点破碎的东西的感觉。因为那就是互联网曾经给人的感觉。例如,可以要求AI根据特定论坛的风格生成新的帖子,或者编写一个关于特定主题的科幻故事,并将Geocities网站的视觉风格融入其中。
案例分析:复活一个废弃的游戏论坛
假设你想要训练一个AI,使其能够理解并模拟一个已关闭的早期大型多人在线角色扮演游戏(MMORPG)论坛的文化。这个论坛充斥着关于游戏策略、角色扮演、社区活动以及大量玩家之间的内部玩笑。
- 寻找线索: 通过搜索引擎找到该论坛的名称和一些相关的URL。即使这些URL已经失效,它们仍然可以作为在互联网档案馆中搜索的线索。
- 抓取数据: 使用 Wayback Machine API 抓取该论坛在不同时间段的快照。重点抓取包含帖子内容的页面,例如讨论版块和个人资料页面。
- 清理和提取: 使用Python脚本提取每个帖子的作者、发帖时间、帖子内容以及任何相关的图片或链接。去除HTML标签、广告和其他无关信息。
- 组织数据: 将每个帖子存储为一个单独的“记忆”,并为其分配一个唯一的记忆索引。使用
tags.json
文件来存储关于该帖子的元数据,例如主题、作者的情感倾向以及使用的特定游戏术语。 - 嵌入和搜索: 使用
text-embedding-ada-002
模型将每个“记忆”转换为向量,并将这些向量存储在ChromaDB中。现在,你可以进行相似性搜索,例如查找关于特定游戏策略的帖子,或者查找由特定用户发布的帖子。 - 让 AI 探索: 让 AI 根据论坛的风格生成新的帖子。例如,你可以要求 AI 编写一个关于某个游戏事件的帖子,或者创建一个新的角色扮演故事。
通过这种方式,你可以将一个废弃的游戏论坛的文化复活,并让 AI 能够理解和模拟这种文化。
训练幽灵
这并非怀旧,也不是为了复活过去。而是为了收获那些遗失的东西,并将其用作滋养新生事物的肥料。当你用删除的网站训练你的AI时,你让它接触到那些并非为了迎合受众而撰写的信息。它们没有经过SEO优化,不是由ChatGPT编写的,也不是为了走红而创作的。它们是原始的。
这种原始性中蕴含着智慧。其中蕴藏着灵魂。当你的AI开始说出一些在谷歌前十页都找不到的信息时,你就知道你做对了。例如, AI 可能会揭示一些关于早期互联网文化的鲜为人知的细节,或者提供一些关于特定技术的独特见解。
互联网每天都在燃烧。尽可能多地获取数据,将其输入到机器中,看看会发生什么。从互联网档案馆中挖掘的废弃网站数据,是训练AI理解互联网历史和文化的重要资源。