从文件上传到可核对回答:一个 Go 文档问答项目的 RAG 实现
沿一份文档和一次提问的完整链路,拆解 Go 项目中的异步解析、OCR、切片、混合检索、RRF、Reranker、引用校验与故障降级。
TAGS / 标签浏览
围绕「Go」整理的文章。按发布时间浏览,也可以从专题导读选择完整的阅读路径。
沿一份文档和一次提问的完整链路,拆解 Go 项目中的异步解析、OCR、切片、混合检索、RRF、Reranker、引用校验与故障降级。
记录 Go HTTP Client 出现大量 TIME_WAIT 和短连接的一次排查,沿请求代码、响应体处理与连接生命周期分析复用问题,再讨论 Transport 配置和调优时需要考虑的负载条件。
基于Golang、Gin和ReverseProxy构建高效业务网关,实现路由热加载、反向代理、权限控制等功能。
复盘 Gin 中读取和缓存 Response Body 导致的 OOM,分析内存增长原因并给出更安全的实现方式。
结合 bigcache 的使用场景,介绍 Go binary.PutUvarint 与 Uvarint 的变长整数编码原理和用法。
基于 Go net/http 源码分析 HTTP 请求从连接建立、读取解析到 ServeHTTP 处理和响应写回的完整流程。
结合 Go 汇编分析 Copy-On-Write 赋值操作是否具备原子性,以及并发读写时需要注意的问题。
深入分析Go语言select关键字的实现原理,介绍scase与hselect等核心数据结构,以及无case、单case、非阻塞和多case场景下的运行机制。
翻译介绍 Go Context 的设计与使用方式,包括请求取消、超时控制和跨 Goroutine 传递请求范围数据。
翻译介绍 Go net/http 的各类超时设置,通过时序分析区分服务器端和客户端不同阶段的超时行为。