Home

任务队列 Celery 实践

上一篇介绍了 Celery 架构,这篇我们实战看看。 1. 例子 文章从基础、重试、ack、周期任务等几个方面说明,完整的运行例子放在了 github 上 1.1. Hello World 入门例子使用非常简洁,分为两步: 启动Worker: 从 Redis 读取任务,执行add方法,将结果写回 Redis run_simple_task -> add.delay: 写入任务,通过app分发到 default 队列(存储到 Redis),并等待读取结果 1.1.1. 消费者-Worker 先从启动 Worker 开始,定义app/celery_app.py: #!/usr/bin/env python # coding=utf-8 from celer...

Read more

任务队列 Celery 架构

1. 定位:Celery 是什么? Celery 是一个分布式任务队列系统,用于在多个工作进程和机器之间异步执行任务。 异步任务的需求很多,特别是耗时且需要平滑处理的场景。比如文件格式转换、数据统计、调用第三方耗时的 api 等,就需要任务入队,然后逐批出队处理。 有些情况下,异步任务还往往伴随着延迟或者周期处理的需求,例如统计网站使用量、文件个数大小等,Celery 也还支持了周期及延迟任务。 2. 思考:如果自己实现 实现任务队列,基础是链条上参与的三个角色:生产者、队列、消费者 首先是生产者:需要支持用户自定义任务,能够方便的提交到任务队列,队列里存储的应当是任务的元信息。这块需要提供代码框架或者接口实现。 其次是队列:任务不丢的基础是持久化。我的第一个想法是采用消...

Read more

2025年个人总结

1. 工作 工作节奏相比互联网变平缓了。有时也会遇到难题,不过组内氛围很好,大家充分发挥“三个臭皮匠顶个诸葛亮”的精神,一块硬着头皮解决。 不忙的时候,有几次一路蹬着自行车回家,看着主路上车水马龙、辅路上人来人往,川流不息,恍惚间有种刚来北京读书时对这个城市的感觉。 工作内容偏功能性一些,性能、稳定性、辅助系统很少涉及。今年要随着项目开展,多研究些开源项目,多去思考生产落地的实际问题。 2. 读书 2025 读的书不多,AI 相关耗时最久。今年想在此基础上,读更多关于历史的书。 书名 一句话总结 《人工智能工程化:应用落地与中台构建》 第一次一窥其他人眼中 AI 中台的全貌,当...

Read more

记忆和向量-读《图解大模型》

1. 记忆 大模型是无状态,不会记住任何先前的对话内容。 注意书里介绍的是短期记忆 常见记忆方式有两种: 对话缓冲区 对话摘要 1.1. 对话缓冲区 LangChain 框架使用ConversationBufferMemory ConversationBufferWindowMemory实现,原理上就是将每轮对话的user system都发给大模型,上限则通过对话轮数或者 tokens 个数控制。 1.2. 对话摘要 如果不控制上限,对话缓冲区随着对话内容持续增长,并逐渐逼近模型的词元限制;如果控制上限,又可能丢失较早的对话内容。 对话摘要用来解决这个问题。 即将历史对话转为摘要。提取摘要的过程,依赖 LLM 参与,例如可能的提示词: # 创...

Read more

LLM Paper&Practice: CAMEL 和 AutoGen

本文是我在阅读《大模型应用开发 动手做AI Agent》时,对书中推荐的几篇核心论文的理解与总结,主要聚焦于CAMEL和 AutoGen 这两种范式,都是用来实现 MultiAgent 的。 1. CAMEL 1.1. 什么是 CAMEL? CAMEL 是 Communicative Agents for “Mind” Exploration of Large Language Model Society 的简称。 论文只比 ReAct 晚半年发表,提出了一种让智能体间互相协作的方法,中间过程无需人为干预。 1.2. CAMEL 的背景和想法 CAMEL 的研究团队,发现人们在使用 LLM 解决复杂任务时,还是非常依赖人力投入的。投入主要在于人们需要不断和智能体沟通,以确保...

Read more

LLM Paper&Practice:从 CoT 到 ReAct

本文是我在阅读《大模型应用开发 动手做AI Agent》时,对书中推荐的几篇核心论文的理解与总结,主要聚焦于思维链(Chain-of-Thought, CoT)和 ReAct 这两种范式。 学术论文往往较为抽象,本文尽量做到理论与实践相结合,通过阅读论文和代码实践,来验证和剖析这些技术背后的思想,并分享我在此过程中的一些思考与困惑。 1. 思维链(Chain-of-Thought, CoT) 教会模型“一步一步想”。 1.1. 什么是 CoT? 思维链(Chain-of-Thought)是一种提示(Prompting)技术,它通过在提示中加入一些“逐步思考”的范例(Few-shot),来引导 LLM 在回答问题时,模仿范例,输出一个详细的、循序渐进的推理过程,并最终给出答案。...

Read more