从0.62到0.89:一次RAG检索增强生成系统的chunk、embedding与rerank优化记录
本文记录了一个企业知识库RAG系统(检索增强生成)的真实调优过程。原始方案采用固定512字符切分 + text-embedding-ada-002 + 无重排,Top-5召回率仅0.62,答案准确率约58%。通过将chunk改为语义切分(256/64重叠)、切换bge-large-zh-v1.5、引入bge-reranker-large后,Top-5召回率提升至0.89,端到端准确率达81%,P9
FastAPI+Flask双框架下API性能从1.2s降到180ms的调优记录
一个日请求量约200万的订单查询API,P99响应时间一度飙到1.2s,数据库CPU长期80%以上。本文记录我用py-spy、cProfile定位到N+1查询和缺失缓存两个瓶颈,并通过SQLAlchemy查询重构、Redis多级缓存、FastAPI异步化改造,把P99压到180ms、QPS从320提升到1450的完整过程,含可复现代码和wrk压测数据对比。
从0.63到0.89:一次RAG系统检索增强生成全链路优化实录
线上RAG系统上线三个月后,答案准确率始终卡在63%,用户投诉不断。本文记录了一次完整的检索增强生成优化过程:从固定512字符切分改为语义分块,embedding从text-embedding-ada-002切换到bge-large-zh-v1.5,并引入bge-reranker-large做重排序。最终Top-5召回率从0.63提升至0.89,端到端响应时间仅增加180ms。文中包含完整代码与踩
RAG检索增强生成优化实录:从62%到89%准确率的Chunk、Embedding与Rerank调优**
** 本文记录了一个企业知识库RAG系统(检索增强生成)的真实优化过程。初始方案在2000条测试集上召回准确率仅62%,通过调整chunk策略(512→256+重叠64)、切换embedding模型(text-embedding-ada-002→bge-large-zh-v1.5)、引入bge-reranker-large重排序,最终Top-5准确率提升至89%,端到端回答可用率从58%升至87%
从0.63到0.89:一次RAG检索增强生成系统的三段式调优记录
线上知识库问答的召回率长期卡在0.63,答案里经常混入无关条款。本文记录了对一个真实RAG系统的三轮优化:把固定512字符切分改为语义+递归混合chunk,召回率提升到0.74;将text-embedding-ada-002切换为bge-large-zh-v1.5并做指令前缀适配,提升到0.81;最后引入bge-reranker-large做二阶段重排,MRR从0.58涨到0.79,端到端准确率稳
FastAPI+Flask双栈API性能调优:从1200ms到85ms的Profile、SQL与缓存改造
某内部商品查询服务上线后P99飙到1200ms,QPS压到300就开始大量超时。本文用cProfile+py-spy定位到N+1查询和同步阻塞是主因,通过SQLAlchemy批量查询、Redis两级缓存和FastAPI异步改造,把P99压到85ms,QPS从300提升到2400。文中给出完整可运行代码和wrk压测对比数据,环境为Python 3.11 + FastAPI 0.110 + Flask
React Context 迁移到 Zustand 后,我砍掉了 40% 的无效渲染
**
LoRA微调7B大模型:从数据准备到loss曲线与推理效果全记录
本文记录了我在单张RTX 4090(24GB)上,用LoRA对Qwen2.5-7B-Instruct做领域微调的完整过程。训练集为1.2万条医疗问答数据,采用rank=8、alpha=16、target_modules覆盖q/k/v/o/gate/up/down的配置,配合bitsandbytes 4bit量化(QLoRA)后显存占用稳定在18.6GB,训练3个epoch耗时约4小时20分。最终l
asyncio重构Flask接口:QPS从120提升到2100的实践记录
一个查询3个上游HTTP接口再聚合的Flask同步接口,在100并发下QPS只有120,P99高达1.8s。用asyncio+aiohttp重写后,同样4核8G机器上QPS冲到2100,P99降到180ms。本文给出完整的before/after代码、压测脚本、踩过的坑(事件循环、连接池、超时、CPU阻塞),以及wrk实测数据对比,适合正在被同步IO拖慢吞吐的后端同学参考。
用asyncio重构Python Web API:QPS从120提升到1800的完整记录
一个日请求量300万的商品详情接口,原本用Flask同步写法,单进程QPS只有120,P99延迟高达1.2秒。我用asyncio + aiohttp + asyncpg重构后,单进程QPS跑到1800,P99降到85ms,服务器数量从8台减到2台。这篇文章记录了完整的优化过程、踩过的坑,以及为什么有些"异步改造"反而更慢。
Docker Compose编排多服务容器化部署:网络卷挂载与健康检查顺序控制
一个包含Nginx、Spring Boot、MySQL 8.0和Redis 7的微服务项目,早期用`docker run`逐个启动,每次环境重建耗时约25分钟且启动顺序经常出错。改用Docker Compose 2.24编排后,通过自定义bridge网络、命名卷挂载、healthcheck依赖和`depends_on`条件控制,环境重建缩短到3分钟内,服务启动成功率从70%提升到接近100%。本文
RAG检索增强生成优化:从384维到1024维,召回率提升23%的调优记录
本文记录了一个企业知识库RAG系统的真实优化过程。初始方案采用固定512字符切分+bge-small-zh(384维)+向量检索,在200条测试集上召回率仅61%。通过改用语义切分、切换bge-large-zh-v1.5(1024维)、引入bge-reranker-base重排序三个阶段迭代,最终Recall@5达到84%,MRR从0.52提升至0.79。文中包含完整可运行代码、参数配置与踩坑细节
我用6版Prompt把合同要素抽取准确率从71%做到94%:Token消耗与输出质量对比
同一个合同要素抽取任务,我写了6版Prompt,从“直接提问”到“角色+少样本+JSON Schema约束+自检”,在GPT-4o-mini(2024-07-18)上把字段准确率从71.3%提升到94.1%,但单次Token从312涨到1287,成本翻了4倍。本文给出每版Prompt的原文、可运行代码、踩坑记录和完整对比数据,帮你判断什么任务值得上复杂Prompt。
我用7组Prompt对比测试商品评论情感分类:Token消耗差3.2倍,F1最高仅提升11%
为了验证Prompt Engineering在真实任务中的收益,我以电商商品评论三分类(正向/中性/负向)为例,在GPT-4o-mini与Qwen2.5-7B-Instruct上对比了7组Prompt方案,记录了准确率、F1、平均Token消耗与响应延迟。结果发现:加入Few-shot示例后F1从0.71提升到0.82,但Token消耗翻了3.2倍;过度堆砌角色设定反而让准确率下降4.6%。本文给
FastAPI+SQLAlchemy接口从1200ms降到85ms:一次真实性能瓶颈定位与优化记录
某内部订单查询接口上线后P99飙到1.2s,QPS一过50就开始雪崩。本文记录用py-spy、cProfile定位到N+1查询和同步阻塞的瓶颈,通过SQLAlchemy预加载、Redis缓存、连接池调优,把P99压到85ms,QPS从50提升到620。文中包含可直接跑的压测脚本和优化代码,附带前后对比数据。
从78%到96%准确率:电商评论情感分类的Prompt Engineering实验对比与Token成本分析
本文以电商评论三分类情感任务为例,系统对比了Zero-shot、Few-shot、Chain-of-Thought、结构化输出约束四种Prompt策略。在GPT-4o-mini(2024-07版)上,准确率从78.3%提升至96.1%,单次调用Token从42降至31,月成本从$18.7降至$4.2。文中包含完整可运行代码、温度参数调优、JSON模式踩坑记录,以及一份可直接复用的Prompt模板。
Prompt Engineering 实测:同一分类任务 6 版提示词的 Token 消耗与准确率对比
我用 200 条真实工单数据,对同一个文本分类任务写了 6 个版本的 Prompt,从最朴素的“请分类”到带 Few-shot + 结构化输出 + 思维链的版本,在 gpt-4o-mini(2024-07-18)上做了完整对比。结果很有意思:准确率从 71.5% 提升到 94.5%,但单条 Token 从 58 涨到 412,成本翻了 7 倍。更关键的是,第 4 版和第 6 版准确率只差 1.5%
LoRA微调7B大模型全流程:从数据准备到loss曲线与推理对比
本文记录了我在单张24G显存(RTX 4090)上,用LoRA/QLoRA微调Qwen2.5-7B-Instruct的完整过程。训练集为1.2万条垂直领域问答,采用4-bit NF4量化+LoRA(r=16, alpha=32),耗时约3小时20分,显存峰值18.6G。最终loss从1.87降到0.62,领域问答准确率从基座的54%提升到89%,推理风格更贴合业务。文中包含可运行代码、关键参数和踩
Prompt Engineering实测:同一任务5种提示词设计,Token消耗从1800降到420,输出质量反而更高
我用同一个商品评论结构化抽取任务,对比了5种不同Prompt设计在GPT-4o-mini和Qwen2.5-7B-Instruct上的表现。结果很反直觉:最啰嗦的“详细说明+多示例”Prompt单次消耗1800+ token,F1只有0.82;而精简后的结构化Prompt只花420 token,F1反而达到0.94。这篇文章完整记录了实验设计、代码实现、踩坑过程和最终数据,帮你搞清楚Prompt E
RAG检索增强生成系统优化:chunk策略、embedding切换与rerank效果对比
本文记录了一个真实RAG问答系统的三轮优化过程。原始方案使用LangChain默认512字符切分、text-embedding-ada-002模型,Top-5召回准确率仅61.3%,答案忠实度72%。通过调整为语义chunk(256 tokens+10%重叠)、切换bge-large-zh-v1.5、引入bge-reranker-large后,Top-5命中率提升至89.7%,端到端延迟从1.8s