TL;DR
- 一个网站摘要器有三个独立的任务:检索页面、清理和验证内容,以及请求LLM生成有依据的摘要。
- Nstdata Crawl可以从已知的公共URL返回主要内容的Markdown。该应用程序拥有分块、模型调用、事实检查和最终UI。
- 当内容较长时,先总结有限的部分,然后再进行综合。保持每个部分的源URL或锚点与其摘要相对应。
- 在展示答案之前,验证数字、日期和引用与存储的源文本是否一致。
一个有用的“总结这个网站”功能应产生超过流畅段落的内容。它应捕捉实际页面主题,保留重要的限制和数字,并告诉用户每个声明来源于何处。本教程使用Nstdata Crawl进行页面检索,并使用OpenAI响应API进行摘要。这里不声称有实时爬取或模型输出;代码旨在让读者使用自己的凭据运行。
如何使用LLM总结网站
给定一个URL,首先获取页面的有意义内容。然后检查该正文是否包含足够的文本进行总结。最后,将该文本发送给LLM,并附上禁止不支持的细节的提示。直接将原始HTML发送给模型通常会耗费代币在菜单、cookie通知、脚本和重复的页脚内容上。清晰的Markdown表示更容易检查和分段,但仍需要验证:提取可能遗漏一个表格,呈现为空壳,或合并不相关的内容。
“网站摘要”这个术语是模糊的。页面摘要涵盖一个URL。站点摘要需要页面发现、限制、去重、每页面摘要及综合。决定你的产品承诺哪个合同。
爬虫 + LLM摘要如何工作
数据流程是URL → 爬虫API → Markdown → 内容检查 → 分块 → LLM → 验证摘要。保留原始检索结果或可审计快照与输出一起,这样可以回答“这个数字从哪里来的?”并在页面更改时重新运行摘要。
在检索阶段,检查输出是否包含预期的标题或关键部分,而不仅仅是API调用返回的结果。在模型阶段,请求固定结构:主题、要点、数字事实、限制和源URL。在验证阶段,将引用的数字和日期与来源进行比较。验证器可以捕捉明显的不支持值,但可能仍需人工审查以获得重要的摘要。
逐步:使用Python构建网站摘要器
步骤1:设置API凭据和依赖项
使用Python 3.10+并安装pip install nstdata-ai-crawl openai。在你的环境中设置NSTDATA_API_TOKEN、OPENAI_API_KEY和OPENAI_MODEL。所选模型必须在你的账户中可用。代码使用文档化的Nstdata Python SDK模式和OpenAI的响应API文本生成模式。这两个调用都需要凭据;该示例在此环境中尚未针对实时服务运行。
步骤2:爬取URL并提取Markdown
对于已知的公共URL,请求Format.MARKDOWN,使用onlyMainContent=True,并设置有限的超时时间。拒绝空白文本。Nstdata的Crawl文档描述了响应访问器、输出格式和渲染选项。如果页面是客户端渲染且重要文本缺失,请检查页面并配置适当的等待或交互,而不是假设LLM能够恢复遗漏的内容。
步骤3:为LLM准备内容
规范化多余的空白行,而不删除标题、列表、链接或代码。在标题边界上拆分,并强制每个块的保守字符预算。字符计数只是对模型代币的近似值;在生产中监控实际使用。如果某一部分过大,进一步拆分并为每个部分标记。避免仅取较长政策或技术文档的前N个字符:例外常常出现在末尾附近。





