当前位置: 首页 > news >正文

基于LangGraph的多智能体AI内容生成系统XunLong实战指南

1. 项目概述:一个基于多智能体协作的AI内容生成系统

最近在折腾一个挺有意思的开源项目,叫XunLong。简单来说,这是一个利用大语言模型(LLM)驱动的多模态内容生成系统。你可以把它理解为一个“AI内容工厂”,你只需要给它一个主题或一个简单的指令,它就能自动帮你生成一份结构完整、质量不错的报告,或者构思并撰写一部小说,甚至制作出一套演示文稿(PPT)。

这听起来可能和市面上很多AI写作工具类似,但XunLong的核心差异在于它的“大脑”结构。它没有采用单一的、线性的生成流程,而是构建了一个基于LangGraph的多智能体协作架构。这意味着,当你下达一个“生成一份关于2025年AI趋势的报告”的命令时,系统内部会像一支分工明确的专业团队一样运作起来:一个“项目经理”智能体负责拆解任务,一个“研究员”智能体去网上搜集资料,一个“撰稿人”智能体负责撰写内容,还有一个“质检员”智能体负责审核和优化。这套机制的目标,是让生成的内容不再是简单的文本堆砌,而是具备逻辑性、结构性和信息深度的“作品”。

我自己尝试用它生成了几份技术报告和产品介绍PPT,最直观的感受是省心。过去要写一份像样的报告,我得自己查资料、搭框架、填充内容、调整格式,现在大部分机械性、结构性的工作可以交给它。当然,它并非万能,最终的成品质量高度依赖于你给它的指令清晰度、以及背后调用的LLM模型能力。但作为一个开源项目,它提供了一个非常棒的框架,让你可以基于此进行定制和优化,无论是想生成特定领域的行业报告,还是想打造一个内部的内容生产流水线,都有很大的发挥空间。

2. 核心架构与设计思路拆解

要理解XunLong怎么工作,得先抛开“黑盒”思维,看看它的内部设计。它的核心思想是“分而治之”和“协同作业”,这主要通过LangGraph来实现。

2.1 为什么选择LangGraph与多智能体架构?

传统的AI内容生成工具,往往是一个“端到端”的模型调用:用户输入Prompt,模型一次性输出长文本。这种方式有几个痛点:一是生成长文本时容易“跑偏”或前后矛盾;二是难以融入复杂的逻辑(比如先搜索、再分析、后撰写);三是中间过程不可控、不可观测。

XunLong采用多智能体架构,正是为了解决这些问题。LangGraph在这里扮演了“总调度中心”的角色。它不是一个简单的函数调用链,而是一个有状态的图(State Graph)。每个智能体(Agent)是图中的一个节点,节点之间通过有向边连接,定义了工作流的方向。系统会维护一个共享的“状态”(State),记录了当前任务进度、已收集的信息、生成的内容草稿等。这个状态对象随着工作流的推进,在不同的智能体间传递和更新。

举个例子,当你命令生成报告时,工作流可能是这样的:

  1. 协调器(Coordinator)节点:接收用户指令,分析出需要生成的是“报告”,主题是“AI趋势”。它将这个初始状态(包含任务类型、主题)传递给下一个节点。
  2. 搜索智能体(Search Agent)节点:从状态中拿到“AI趋势”这个关键词,启动并行网络搜索,抓取最新的行业文章、数据报告。然后将搜索到的摘要和链接整合,更新到状态对象里。
  3. 报告生成智能体(Report Agent)节点:它看到状态里已经有了主题和参考资料,开始工作。它可能先生成一份报告大纲(更新状态),然后根据大纲逐章撰写内容(再次更新状态)。在这个过程中,它可能会反复查阅状态中的搜索资料。
  4. 评审智能体(Review Agent)节点:报告草稿完成后,它负责检查逻辑连贯性、事实准确性(基于搜索资料)、语法和格式。提出修改意见并更新状态。
  5. 格式转换智能体(HTML Converter)节点:将最终的Markdown内容转换为美观的HTML。

整个流程中,状态是唯一的信息载体,每个智能体只关心如何读取和修改状态中自己负责的部分。这种设计带来了几个好处:模块化(每个智能体可以独立开发和替换)、可观测性(整个状态变化历程可以被记录和调试)、灵活性(可以轻松调整工作流,比如在生成小说时加入“角色一致性检查”节点)。

2.2 系统分层架构解析

从代码目录结构也能清晰看出它的分层设计思想:

  • 用户接口层:目前主要是xunlong.py这个CLI命令行工具。这是用户与系统交互的入口,负责解析命令和参数。
  • 智能体编排层:这是核心大脑,主要是src/agents/coordinator.py。它定义了基于LangGraph的工作流图,负责任务的初始化解构和整个流程的推进。
  • 核心智能体层:位于src/agents/下的各个子目录。这是干活的“员工团队”:
    • report/,fiction/,ppt/:分别对应报告、小说、PPT的内容生成专家,每个里面可能还细分了负责大纲、章节、幻灯片的不同子智能体。
    • iteration_agent.py:负责处理用户的修改指令,实现内容的迭代优化。
    • html/:负责将Markdown内容渲染成带样式的HTML,这是导出为PDF、DOCX等格式的前置步骤。
  • 支持服务层
    • src/export/:导出管理器,将HTML转换成最终的PDF、DOCX或PPTX文件。这里会用到像WeasyPrint、python-docx、python-pptx这样的库。
    • src/storage/:存储管理器。每个生成任务都会在storage/目录下创建一个独立文件夹,保存所有中间状态、最终结果和版本历史。这不仅是持久化,也为迭代功能提供了基础。
  • LLM服务层src/llm/。这是系统的“燃料库”。它抽象了不同LLM提供商(OpenAI、Anthropic、DeepSeek等)的API调用,为上层的智能体提供统一的模型调用接口。这层设计使得切换或增加模型供应商变得非常容易。
  • 搜索层src/search/。提供信息检索能力。根据配置,可以优先使用Perplexity这类AI搜索API获取更精准的信息,也可以降级使用Playwright控制的浏览器进行常规网页抓取。

实操心得:理解状态流是关键刚开始接触这类多智能体系统时,容易把每个智能体想成独立的服务。实际上,在XunLong中,最重要的是理解“状态对象”的流动。调试时,查看storage/项目文件夹下的intermediate/子目录里的JSON文件,你能清晰地看到任务是如何一步步被分解,数据是如何一步步被丰富起来的。这是排查“为什么智能体A没拿到智能体B的数据”这类问题的最有效方法。

3. 从零开始的部署与配置实战

光说不练假把式,我们一步步把它跑起来。这里我会以macOS/Linux环境为例,Windows用户只需注意虚拟环境激活命令的差异。

3.1 基础环境搭建

首先,确保你的机器上有Python 3.10或更高版本。然后,我们获取代码并准备隔离的Python环境。

# 1. 克隆仓库 git clone https://github.com/jaguarliuu/xunlong.git cd xunlong # 2. 创建并激活虚拟环境(强烈推荐,避免包冲突) python -m venv venv # macOS/Linux: source venv/bin/activate # Windows: # venv\Scripts\activate # 3. 安装Python依赖 pip install -r requirements.txt

requirements.txt里会包含LangChain、LangGraph、Playwright等核心库。安装过程可能会花点时间。

3.2 处理系统依赖(特别是PDF导出)

这是第一个容易踩坑的地方。XunLong使用WeasyPrint将HTML转换为PDF,而WeasyPrint依赖一些系统级的图形库。

# macOS (使用Homebrew) brew install pango gdk-pixbuf libffi # Ubuntu/Debian sudo apt-get update sudo apt-get install libpango-1.0-0 libpangoft2-1.0-0 libgdk-pixbuf2.0-0 libffi-dev

如果跳过这一步,在运行导出PDF命令时,你很可能会遇到关于libpangogdk-pixbuf的错误,提示找不到某些库。Windows用户通常可以通过安装GTK+运行时库来解决,具体可参考WeasyPrint官方文档。

3.3 配置浏览器与API密钥

系统需要浏览器来进行备用的网页搜索(当Perplexity API不可用时)。

# 安装Playwright的Chromium浏览器 playwright install chromium

接下来是最关键的一步:配置API密钥。项目根目录下有一个.env.example文件,复制它并重命名为.env

cp .env.example .env

然后用文本编辑器打开.env文件。你需要至少配置一个LLM提供商的API密钥。

# 主LLM提供商(三选一即可,推荐OpenAI或DeepSeek) OPENAI_API_KEY=sk-your-openai-api-key-here OPENAI_BASE_URL=https://api.openai.com/v1 # 如果你用官方API,这个不用改 OPENAI_MODEL=gpt-4o # 或 gpt-4-turbo, gpt-3.5-turbo # 或者使用Anthropic (Claude) # ANTHROPIC_API_KEY=your_anthropic_api_key # ANTHROPIC_MODEL=claude-3-5-sonnet-20251022 # 或者使用DeepSeek (性价比高) # DEEPSEEK_API_KEY=your_deepseek_api_key # DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 # DEEPSEEK_MODEL=deepseek-chat # 搜索增强(可选但推荐):Perplexity API能提供更精准、实时的网络信息 PERPLEXITY_API_KEY=your_perplexity_api_key # 可观测性(可选):LangFuse用于追踪每次调用的花费、延迟和详细过程,对调试和优化非常有用 LANGFUSE_PUBLIC_KEY=your_langfuse_public_key LANGFUSE_SECRET_KEY=your_langfuse_secret_key LANGFUSE_HOST=https://cloud.langfuse.com

注意事项:模型选择与成本控制

  • 对于报告生成:建议使用能力最强的模型,如gpt-4oclaude-3-5-sonnet,因为这对逻辑性和信息整合要求高。
  • 对于小说生成:如果追求创意和文笔,同样推荐上述大模型。如果只是测试流程,gpt-3.5-turbodeepseek-chat也可以。
  • 关于Perplexity API:它不是必须的,但没有它,系统只能进行普通的网页爬取,信息质量和时效性会打折扣。对于需要最新数据的报告,建议配置上。
  • 关于LangFuse:如果你是开发者,想深入了解每个智能体调用了多少次API、消耗了多少Token、流程卡在了哪里,强烈建议配置。它提供了一个可视化的跟踪界面。

4. 核心功能使用详解与实操案例

环境配好了,我们来实际生成点东西。XunLong的所有操作都通过命令行完成,结构清晰。

4.1 生成你的第一份研究报告

假设我们要为一家科技媒体写一份关于“2025年量子计算商业化前景”的简报。

python xunlong.py report "2025年量子计算商业化前景分析" --style business --depth standard --verbose

分解一下这个命令:

  • report: 指定生成类型为研究报告。
  • "2025年量子计算商业化前景分析": 核心主题指令。尽量描述得具体一些。
  • --style business: 指定报告风格为“商业报告”。这会影响行文语气、结构和侧重点(如更多市场分析、竞争格局)。
  • --depth standard: 生成深度为“标准”。overview(概览)更快更浅,comprehensive(全面)更慢更深。
  • --verbose: 开启详细日志,让你能在终端看到智能体们正在做什么(“正在分解任务...”、“正在搜索量子计算最新融资...”),对于了解流程和调试非常有用。

执行后,系统会开始工作。你会看到终端滚动日志,大概5-10分钟后,生成完成。输出会告诉你项目ID(例如20251004_220823)和结果保存路径。

查看结果:所有生成内容都保存在storage/目录下,以项目ID命名的文件夹里。

  • storage/20251004_220823/reports/FINAL_REPORT.md: 最终的Markdown报告。
  • storage/20251004_220823/reports/FINAL_REPORT.html: 渲染好的HTML版本,用浏览器打开可以直接预览。
  • storage/20251004_220823/intermediate/: 这里面的JSON文件记录了任务分解、搜索结果的原始数据、生成的大纲等,是学习系统如何思考的绝佳材料。

4.2 进阶技巧:利用现有文档作为上下文

这是XunLong一个非常强大的功能。你手头可能已经有了一份产品说明书、会议纪要或调研笔记,你可以让它基于这些现有材料来生成内容,保证产出与你的知识背景高度相关。

python xunlong.py report "基于现有产品的市场拓展策略" --input-file ./docs/product_spec.docx

--input-file参数支持.txt,.pdf,.docx格式。系统会读取文件内容,进行智能摘要,并将其作为高优先级的背景信息注入到生成过程中。比如,你的产品文档里提到了核心功能A、B、C,那么生成的报告在讨论策略时,就会自然地围绕如何推广A、B、C来展开。

4.3 生成一部短篇小说

创作一个关于“人工智能获得情感后与人类画家的故事”。

python xunlong.py fiction "当AI学会感受:一位机器与画家的巴黎往事" --genre scifi --chapters 5 --verbose
  • fiction: 指定生成小说。
  • --genre scifi: 指定科幻风格。其他选项如romance(言情)、mystery(悬疑)会显著影响故事基调、情节套路和人物设定。
  • --chapters 5: 指定生成5个章节。系统会自动构思一个包含起承转合的完整故事结构。

生成的小说同样会保存在项目目录下。你可以打开HTML文件阅读,会发现它甚至可能生成了章节标题、段落分隔,基本像模像样。

4.4 制作一份演示文稿

为公司季度复盘制作一个PPT。

python xunlong.py ppt "2024年Q3产品团队工作复盘与Q4规划" --style business --slides 12 --speech-notes "面向全体产品团队的内部汇报" --verbose
  • ppt: 指定生成演示文稿。
  • --slides 12: 目标页数。
  • --speech-notes "面向全体产品团队的内部汇报": 这个参数非常实用!它会根据你提供的听众背景,为每一页PPT生成对应的“演讲者备注”。你导出PPTX后,这些备注会显示在PowerPoint的备注栏里,相当于自动生成了你的演讲提纲。

PPT的生成结果除了Markdown和HTML,还会有一个PPT_DATA.json文件,里面以结构化的方式存储了每一页的标题、内容、布局和备注信息。

4.5 内容的迭代与修改

很少有内容能一稿过。XunLong的迭代功能让你可以基于已有成果进行修改。

首先,用ls storage/或查看上次生成的输出来找到你的项目ID。

# 假设项目ID是 20251004_220823 # 我想在报告的第三章增加一个关于“技术挑战”的章节 python xunlong.py iterate 20251004_220823 "在第三章中,增加一个小节详细分析当前量子计算面临的主要技术挑战,如量子比特稳定性、错误率等。" # 我觉得小说开头不够吸引人,想重写第一章 python xunlong.py iterate 20251005_101501 "重写第一章,要求开篇更具画面感,直接从一个雨夜的实验室场景开始。" # 修改PPT第五页,把文字描述改成图表形式 python xunlong.py iterate 20251005_101523 "将第五页幻灯片的内容,从文字列表改为一个展示季度营收增长趋势的柱状图。"

迭代命令会找到对应的项目,在versions/子目录下创建新版本,然后根据你的指令调用迭代智能体进行修改。这个智能体会分析你的指令是“局部修改”还是“全局调整”,然后有针对性地进行重写或重组。

4.6 导出为最终格式

生成的内容默认是Markdown和HTML,但我们可以导出为更通用的格式。

# 导出为PDF python xunlong.py export 20251004_220823 pdf # 导出为Word文档 python xunlong.py export 20251004_220823 docx # 如果是PPT项目,还可以导出为PPTX python xunlong.py export 20251005_101523 pptx # 指定输出路径 python xunlong.py export 20251004_220823 pdf --output ./my_awesome_report.pdf

导出的文件会保存在项目文件夹的exports/子目录下,也会复制到你指定的路径。

5. 高级配置与定制化开发

如果你不满足于基本使用,想让它更贴合你的需求,XunLong提供了不少配置入口。

5.1 配置LLM模型与参数

config/llm_config.yaml中,你可以进行更精细的LLM控制。

providers: default: # 默认使用的配置 provider: "openai" model: "gpt-4o" temperature: 0.7 # 创造性,越高越随机 max_tokens: 4000 # 单次回复的最大长度 creative: # 可以为小说生成单独配置一个更有“创意”的模型 provider: "anthropic" model: "claude-3-5-sonnet-20251022" temperature: 0.9 search: # 为搜索总结配置一个快速便宜的模型 provider: "openai" model: "gpt-3.5-turbo" temperature: 0.3 # 你可以在不同智能体中指定使用哪个配置 agent_configs: report_outline_agent: llm_config: "default" fiction_dialogue_agent: llm_config: "creative" search_summary_agent: llm_config: "search"

通过这样的配置,你可以让负责写报告大纲的智能体用精准的GPT-4,让负责写小说对话的智能体用更有文采的Claude,而让处理搜索摘要的智能体用快速的GPT-3.5,在效果和成本间取得平衡。

5.2 定制输出模板

如果你对默认的HTML样式不满意,可以修改templates/目录下的模板文件。

  • templates/report_template.html: 控制报告最终的HTML样式。
  • templates/fiction_template.html: 控制小说的HTML样式。
  • templates/ppt_slide_template.html: 控制PPT每页幻灯片的HTML结构。

你可以在这里修改CSS样式,改变字体、颜色、间距,甚至调整HTML结构来适应你的品牌风格。修改后,重新生成或导出的内容就会应用新模板。

5.3 理解与扩展智能体

这是最深入的定制层面。每个智能体本质上是一个LangChain的“工具调用代理”(Tool-calling Agent)或“函数调用代理”。它们在src/agents/目录下定义。

如果你想让它支持生成“周报”,你可以参考report/目录的结构,创建一个weekly_report/目录,在里面定义你自己的“周报协调器”、“周报内容生成器”等智能体。然后,你需要在主协调器(coordinator.py)中注册这个新的工作流,并在CLI工具中添加对应的命令。

这个过程需要对LangGraph有基本了解,但框架已经搭好,你主要是在填充领域特定的逻辑和Prompt。例如,一个周报生成智能体的Prompt可能会强调“总结本周工作”、“列出下周计划”、“提出风险和问题”。

6. 常见问题排查与实战心得

在实际使用和开发中,你肯定会遇到各种问题。这里记录一些典型情况和解决思路。

6.1 生成内容空洞或跑题

  • 症状:生成的报告泛泛而谈,没有深度;小说情节老套或逻辑不通。
  • 排查与解决
    1. 检查指令:你的初始指令是否足够具体?“AI发展趋势”就不如“2025-2027年,生成式AI在医疗影像诊断领域的技术演进、主要玩家与市场机遇分析”来得明确。给AI更清晰的边界。
    2. 检查搜索质量:查看intermediate/02_search_results.json。如果搜索返回的结果很少或质量差,内容自然空洞。考虑配置并启用Perplexity API,或者尝试在指令中加入更具体的关键词引导搜索。
    3. 升级模型:如果用的是gpt-3.5-turbo,尝试换成gpt-4oclaude-3-5-sonnet,能力差距在复杂任务上非常明显。
    4. 使用迭代功能:第一稿不满意很正常。用iterate命令,具体指出哪里不好,希望如何改进。比如:“第一章缺乏冲突,请为主角增加一个道德困境”。

6.2 PDF导出失败或格式错乱

  • 症状:执行export pdf命令时报错,或生成的PDF排版混乱、图片不显示。
  • 排查与解决
    1. 系统依赖:这是最常见的原因。确保已按照前文所述,安装了pangogdk-pixbuf等系统库。在Linux上,可能需要安装更多字体包,如sudo apt-get install fonts-liberation
    2. HTML/CSS兼容性:WeasyPrint对现代CSS的支持有限。如果你自定义了模板,使用了太新的CSS特性(如Flexbox、Grid的某些用法),可能导致渲染错误。简化模板样式,或参考WeasyPrint官方支持的CSS属性列表。
    3. 中文字体:默认可能不包含中文字体,导致中文显示为方块。解决方案是在模板的CSS中通过@font-face指定一个系统中存在的中文字体路径,或者将字体文件打包进项目。

6.3 运行速度慢或Token消耗高

  • 症状:生成一个简单报告也要十几分钟,或者查看LangFuse发现API调用花费巨大。
  • 排查与解决
    1. 分析LangFuse跟踪:如果配置了LangFuse,打开其控制台,查看整个工作流的“Trace”。你会发现时间花在了哪个智能体上,哪个步骤的Token消耗最大。可能是搜索步骤抓取了过多网页,也可能是某个智能体的Prompt过于冗长导致每次回复都很长。
    2. 调整depth参数:生成报告时,将--depth comprehensive改为--depth standard--depth overview
    3. 优化搜索配置:在config/search_config.yaml中,减少max_results(例如从10改为5),限制搜索的广度。
    4. 模型降级:对于不那么重要的步骤(如初步信息筛选),在llm_config.yaml中配置使用更小、更快的模型(如gpt-3.5-turbo)。

6.4 迭代功能对PPT支持不完善

  • 症状:项目README中提到“PPT迭代目前会重新生成整个演示文稿”,这意味着你无法只修改某一页。
  • 当前局限与应对:这确实是当前版本的一个短板。PPT的结构(幻灯片顺序、布局)比线性文本更复杂,局部修改的难度更大。
    • 变通方案1:先导出PPTX,然后在PowerPoint或Google Slides中手动修改。毕竟AI已经完成了从0到1的创作,从1到1.5的微调手动做可能更快。
    • 变通方案2:如果必须用迭代,指令要非常精确。例如:“保持其他幻灯片不变,仅将第三张幻灯片的内容替换为以下要点:1... 2... 3...”。虽然系统可能还是会触发全量生成,但更精确的指令有助于新生成的内容更贴近你的要求。

6.5 Playwright浏览器相关问题

  • 症状:首次运行或在新环境运行时,提示浏览器无法启动或找不到。
  • 解决:确保运行过playwright install chromium。如果问题依旧,可以尝试指定浏览器路径,或在代码中为Playwright设置headless=True(无头模式)并传递--no-sandbox等启动参数(通常在Docker环境中需要)。

一个重要的安全提醒:整个系统严重依赖外部API(LLM和搜索)。你的所有提示词、生成的中间内容、上传的文档,都会被发送到这些第三方服务。因此,切勿使用任何敏感、保密或个人信息进行测试或生成。对于企业级应用,需要考虑部署私有化模型或与能提供数据保密协议的API服务商合作。

从我个人的使用体验来看,XunLong的价值不在于替代专业作者或设计师,而在于成为一个强大的“初级助理”和“灵感加速器”。它能快速搭起一个内容骨架,处理好繁琐的资料搜集和初步撰写,让你能把宝贵的时间集中在最需要人类判断力的部分:战略思考、创意构思和最终的质量把关。把它集成到你的内容工作流中,而不是期待它完全独立工作,你会获得最佳体验。

http://www.jsqmd.com/news/706312/

相关文章:

  • 智能体的情景记忆
  • NLP文本表示方法对比:词袋、TF-IDF与LLM嵌入
  • 昨天晚上 口头发表政治评论 马桶提示:6 d 心
  • 深度学习实践
  • React Fiber 异步渲染原理讲解
  • 计算机视觉中图像数据预处理与增强技术详解
  • 为什么 Markdown 是大模型更优雅的对话格式?
  • 低功耗IoT自动调制识别:轻量特征+微型神经网络,一文吃透核心理论【附python代码】
  • GOSIM Spotlight 2026 Frontier Creators入围作品正式官宣!
  • Bridgic:轻量级数据集成平台的设计、实践与避坑指南
  • 「一文搞懂 Material Design:Toolbar 到 CollapsingToolbar 全攻略」
  • nli-MiniLM2-L6-H768在软件测试中的应用:自动化生成测试用例与断言
  • MAF快速入门()给Agent Skill添加脚本执行能力
  • C++面试题自用-持续更新
  • Save Image as Type终极指南:如何在Chrome中一键转换图片格式
  • Java开发者如何用LangChain4j构建企业级AI应用:从RAG到智能体
  • 基于T5模型的多语言翻译系统实战指南
  • 机器学习数据准备框架:提升模型效果的工程实践
  • 2026诚信入境旅游服务标杆名录:大陆居民赴台旅游/探险旅游/研学旅行定制/私人高端旅游定制/考古旅游/自驾游/选择指南 - 优质品牌商家
  • 2026中水处理设备标杆名录:安徽污水处理设备厂家/工业废水处理设备/废水处理处理设备/气浮机一体化污水处理设备/选择指南 - 优质品牌商家
  • VM图像处理(1、图像二值化和图像滤波,Sobel提取过程)
  • 企业境外投资备案ODI常见问题解答:深圳境外投资备案ODI/美国公司注册/越南公司注册/马达加斯加公司注册/上海境外投资备案ODI/选择指南 - 优质品牌商家
  • 时间序列预测模型选型:构建高效决策矩阵
  • TinyAGI:多智能体协作平台,打造你的24/7 AI数字团队
  • 欧陆平台邀请码的正确填写步骤!娱乐使用
  • 【11】ViT论文解析:图像为什么也能像句子交给Transformer
  • 海投60份简历,0面试,我是不是真的很差?
  • PostgreSQL 17+ 关键基础监控指标详解
  • 基于Python与Playwright的闲鱼商品监控助手:自动化抓取与实时通知实现
  • 深度学习数据缩放:原理、方法与实践指南