FastAPI使用 SlowAPI 增加接口限流,Nginx 获取真实用户IP

学习 

摘要: 本文介绍了如何在FastAPI后端服务中使用SlowAPI进行接口限流,以解决小程序功能增加后可能出现的滥用问题。文章首先指出部署架构中的IP获取问题,特别是当服务通过Nginx反向代理时获取真实用户IP的挑战。接着,详细说明了如何配置FastAPI、Gunicorn和Nginx以获取正确的用户IP,并正确实施限流策略。最后总结了实施限流和获取真实IP的最佳实践,包括选择合适的限流库、正确配置服务器和代理等关键步骤。文章关键词:fastapi, python, nginx, FastAPI使用SlowAPI增加接口限流,Nginx获取真实用户IP。

cloudflare历险记(1)自定义路由及sitemap


文章主要介绍了关于使用Cloudflare的经历,包括使用其CDN加速、DNS服务、WAF等功能,以及其免费的产品线如何满足开发者的需求。文章还详细描述了为何选择Cloudflare以及如何使用其worker自定义路由和配置sitemap,同时分享了主项目的sitemap如何加上子项目的页面链接。最后,作者还介绍了当前项目的流量情况以及结语,呼吁读者关注其公众号进行交流讨论。 关键词:Cloudflare、自定义路由、sitemap、worker

Deer Flow 核心架构与 LangGraph 状态管理探秘

学习 

摘要: 本文深入探讨了 Deer Flow 的核心架构,特别是它如何利用 LangGraph 进行状态管理。Deer Flow 选择 LangGraph 作为其核心流程控制框架,主要是因为其在构建复杂代理(Agent)系统方面的强大能力。文章详细解释了以下几个关键点: 一、LangGraph 简介:为什么选择 LangGraph? LangGraph 的核心设计是围绕状态(State)进行的,在多步骤、多Agent协作的复杂流程中,能够清晰地定义、传递和更新状态至关重要。Deer Flow 正是利用这一点来管理其研究过程中的各种信息和中间结果。 二、Deer Flow 中的“状态”核心 在 Deer Flow 中,整个研究流程的状态管理是通过一个核心的 State 类来实现的。这个类定义在 src/graph/types.py 文件中,并扩展了一些 Deer Flow 特有的状态属性,用于在不同的Agent节点之间传递信息、控制流程。 三、图的构建 Deer Flow 的核心工作流程是通过 LangGraph 构建的一个状态图(StateGraph)来驱动的。这个文件负责定义和构建整个Agent工作流图,包括协调器节点、背景调查节点、计划器节点、报告节点等。 四、Agent 如何成为图中的节点 src/graph/nodes.py 文件定义了图中各个节点的具体行为。每个节点通常对应一个Agent或者一个特定的处理阶段,如协调器节点、计划器节点、研究员节点等。每个节点函数接收当前的 State 对象作为输入,执行特定逻辑,并返回一个 Command 对象或一个字典来更新状态,指定下一个要跳转到的节点。 五、状态在图中如何流转与更新 状态的流转和更新是 LangGraph 的核心机制。工作流从 workflow.py 中定义的初始状态开始,根据图的定义(边的连接和条件)将当前状态传递给不同的节点。每个节点执行其特定逻辑后,会更新状态并传递给下一个节点,形成状态的流转与更新。 通过本文的解析,读者可以深入了解 Deer Flow 的核心架构和 LangGraph 状态管理的细节。

飞牛nas重建了储存空间,备份照片一直显示已经备份完成,实际新的空间没有照片,应该怎么做

nasQ&A 

飞牛nas储存空间重建后,备份照片显示已完成但实际无照片。建议清除飞牛手机APP的缓存数据,包括已备份的照片视频,因为可能有缓存导致显示异常。删除前请确认APP内是否有下载的视频文件。

Deer Flow!三天涨了4K star,字节开源的deepresearch方案

学习 

摘要: 本文主要介绍了字节跳动的开源项目Deer Flow,它是一个基于LangGraph的多智能体框架,专为自动化研究任务打造。Deer Flow采用了多智能体协作机制,通过MCP协议支持多个Agent分工明确、配合默契,从任务规划到执行再到结果生成,一气呵成。该项目集成了多个专业搜索引擎,满足不同场景需求,同时支持爬虫、Python REPL执行等实用工具。上手需要一定门槛,但一旦掌握,它可以成为打造AI应用的黄金框架基座。文章还提到了项目的增长速度和潜在的应用价值。

从110k的Claude提示词中总结了7大点,复杂,但值得学习

学习 

该文章介绍了GitHub上的一个项目system_prompts_leaks,该项目收集了包括Claude在内的大型模型的提示词(Prompt)。文章强调了提示词的重要性,它们是AI模型执行任务的关键指导。文章从五个部分详细介绍了Claude的提示词特点:全面的工具编排与调用、结构化且目标明确的内容生成、成熟的搜索与研究策略、强大的安全、道德和版权保护机制以及情境感知与个性化。这些提示词不仅结构清晰、指令明确,而且考虑了各种场景和约束条件,显示出其复杂性和精细度。虽然这些提示词的学习难度较大,但对于理解和应用AI模型具有借鉴意义。

GraphRag Nebula实战(1) - 引言

学习 

作者近期对以前开发的rag系统进行了升级,并研究了多个GraphRag框架,如fast-graphrag和lightrag。作者打算搭配nebula数据库实现GraphRag,并分享开发过程中的经验。文章通过展示一个实例,使用Llama-index和deepseek-v3技术,展示了如何从自媒体文章和百度简介中提取图结构,并成功关联“何同学”和“何世杰”两个实体。

AI答非所问?你的知识库为什么不好用?4500字长文带你读懂rag发展史

学习 

文章摘要:本文介绍了RAG(检索增强生成)技术的演进历程,从最初的Naive RAG到Advanced RAG、Modular RAG、Graph RAG以及最后的Agentic RAG。文章详细描述了每种形态的特点、技术突破、应用场景和局限性,并提到了文档处理在RAG系统中的重要性和相关开源项目的应用。最后,文章探讨了RAG技术的实用化和落地应用的前景,以及AI自主决策在RAG未来发展中的重要作用。 关键词:RAG、科技前沿、AI答非所问、知识库、发展历程 一、引言 近年来,人工智能技术在自然语言处理领域取得了显著进展,其中RAG(检索增强生成)技术备受关注。RAG通过集成实时数据检索来增强大型语言模型(LLM),以提供与上下文相关的最新响应。本文旨在带您了解RAG技术的发展历程,从最初的Naive RAG到Agentic RAG,探究RAG的进化历程和实用化前景。 二、RAG的初步形态:Naive RAG Naive RAG是RAG技术的初步形态,基础但功能相对简单。它依赖于简单的基于关键字的检索技术从静态数据集中获取文档,然后利用这些文档增强语言模型的生成功能。虽然Naive RAG存在局限性,如缺乏上下文感知、碎片化输出和可扩展性问题,但它为集成检索与生成提供了关键的概念验证,为更复杂的范式奠定了基础。 三、RAG的进阶形态:Advanced RAG Advanced RAG是RAG技术的重要进步,实现了密集向量搜索和上下文重新排序等技术突破。它能够在用户查询和检索到的文档之间实现更好的语义对齐,从而提供更精准的答案。然而,Advanced RAG仍然面临计算开销和可扩展性受限等挑战,尤其是在处理大型数据集或多步骤查询时。 四、RAG的模块化发展:Modular RAG Modular RAG是RAG技术的重要发展方向,它将RAG系统拆分为可替换的模块,如检索器、生成器和工具接口,按需定制。这种灵活性使得Modular RAG能够适应不同的用例,提高了系统的可配置性和适应性。Modular RAG的出现打破了“一刀切”的解决方案,成为企业落地RAG的主流选择。 五、RAG的关系化拓展:Graph RAG Graph RAG是RAG技术的关系化拓展,通过集成基于图的数据结构来扩展传统的检索增强生成系统。它能够利用图形数据中的关系和层次结构来增强多跳推理和上下文丰富性,实现更丰富、更准确的生成输出。然而,Graph RAG也面临着可扩展性、数据依赖性和集成复杂性的挑战。 六、RAG的终极形态:Agentic RAG Agentic RAG作为RAG技术的终极形态,追求AI自主决策的能力。它通过智能代理技术实现AI系统的自主决策能力,能够自主处理复杂任务、自适应调整参数和自主优化性能。Agentic RAG的出现将带来RAG技术的重大突破,为实现真正的智能化应用提供支持。 七、文档处理在RAG系统中的重要性和相关开源项目应用 在RAG系统中,文档处理是一个核心模块,其质量直接影响后续的检索结果和回答生成效果。为了提升文档处理的效果,出现了许多开源项目,如微软的Markdown和基于模型的分片处理Agentic Chunking等。这些项目为RAG系统的文档处理提供了有效的工具和方法。 八、结论与展望 RAG技术作为自然语言处理领域的重要突破,经历了从Naive RAG到Agentic RAG的演进历程。未来,随着技术的不断发展,RAG系统将更加实用化、智能化和自主化。我们将继续关注RAG技术的发展,期待它在各个领域带来更大的突破和创新。

Docker - 飞牛NAS部署电子书阅读,支持刮削和手机阅读~


本文介绍了如何在飞牛NAS上部署talebook来阅读电子书,并分享了如何在手机上通过app进行阅读。首先,通过docker-compose文件在飞牛NAS上部署talebook,并配置相关参数。然后,通过扫描书籍导入书籍信息。最后,介绍了如何使用手机app(安卓的静读天下和iOS的kybook)来访问talebook服务并阅读电子书。本文还提到了配置互联网书籍信息源和刮削书籍信息的步骤。总结来说,本文提供了一种在飞牛NAS上部署电子书阅读服务的方法,并支持刮削和手机阅读。

Docker - NAS部署新闻聚合平台,永远吃瓜第一线~

nas 

本文介绍了一个基于Docker的NAS部署新闻聚合平台——newsnow。该平台可部署在多种支持Docker的NAS系统,如飞牛、群晖、绿联、极空间等。通过docker部署,安装简单,只需配置环境变量,包括端口、github登录密钥、JWT秘钥、数据库初始化和缓存设置等。新闻源数据保存在SQLite数据库中,可查看和管理新闻源数据。还提供其他注意事项,如解决网络问题导致的docker拉取失败等。关注公众号《编程挺好玩》可交流讨论。