任务队列 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...
任务队列 Celery 架构
1. 定位:Celery 是什么?
Celery 是一个分布式任务队列系统,用于在多个工作进程和机器之间异步执行任务。
异步任务的需求很多,特别是耗时且需要平滑处理的场景。比如文件格式转换、数据统计、调用第三方耗时的 api 等,就需要任务入队,然后逐批出队处理。
有些情况下,异步任务还往往伴随着延迟或者周期处理的需求,例如统计网站使用量、文件个数大小等,Celery 也还支持了周期及延迟任务。
2. 思考:如果自己实现
实现任务队列,基础是链条上参与的三个角色:生产者、队列、消费者
首先是生产者:需要支持用户自定义任务,能够方便的提交到任务队列,队列里存储的应当是任务的元信息。这块需要提供代码框架或者接口实现。
其次是队列:任务不丢的基础是持久化。我的第一个想法是采用消...
2025年个人总结
1. 工作
工作节奏相比互联网变平缓了。有时也会遇到难题,不过组内氛围很好,大家充分发挥“三个臭皮匠顶个诸葛亮”的精神,一块硬着头皮解决。
不忙的时候,有几次一路蹬着自行车回家,看着主路上车水马龙、辅路上人来人往,川流不息,恍惚间有种刚来北京读书时对这个城市的感觉。
工作内容偏功能性一些,性能、稳定性、辅助系统很少涉及。今年要随着项目开展,多研究些开源项目,多去思考生产落地的实际问题。
2. 读书
2025 读的书不多,AI 相关耗时最久。今年想在此基础上,读更多关于历史的书。
书名
一句话总结
《人工智能工程化:应用落地与中台构建》
第一次一窥其他人眼中 AI 中台的全貌,当...
记忆和向量-读《图解大模型》
1. 记忆
大模型是无状态,不会记住任何先前的对话内容。
注意书里介绍的是短期记忆
常见记忆方式有两种:
对话缓冲区
对话摘要
1.1. 对话缓冲区
LangChain 框架使用ConversationBufferMemory ConversationBufferWindowMemory实现,原理上就是将每轮对话的user system都发给大模型,上限则通过对话轮数或者 tokens 个数控制。
1.2. 对话摘要
如果不控制上限,对话缓冲区随着对话内容持续增长,并逐渐逼近模型的词元限制;如果控制上限,又可能丢失较早的对话内容。
对话摘要用来解决这个问题。
即将历史对话转为摘要。提取摘要的过程,依赖 LLM 参与,例如可能的提示词:
# 创...
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 解决复杂任务时,还是非常依赖人力投入的。投入主要在于人们需要不断和智能体沟通,以确保...
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 在回答问题时,模仿范例,输出一个详细的、循序渐进的推理过程,并最终给出答案。...
246 post articles, 31 pages.