想学检索增强生成技术吗?那就动手用Go语言编写一个吧,可以对接任何兼容OpenAI的模型,不管这模型是在本地还是在云端。

课程核心学习内容

  • RAG流水线是如何从头到尾工作的:包括分块、嵌入、向量搜索、查询重写、上下文注入和流生成。
  • 如何设计Go接口,使得大型语言模型(LLM)、嵌入器和向量存储可以互换使用,而无需改动代码库的其他部分。
  • 如何将LLM令牌流式传输到终端以及通过服务器发送事件(Server-Sent Events)到浏览器。
  • 如何针对OpenAI、Ollama、LM Studio或Groq运行所有内容——以及如何混合搭配使用(例如,使用本地嵌入的托管聊天)。
  • 如何在生产环境中使用Postgres + pgvector进行向量搜索,包括HNSW索引和嵌入维度迁移。
  • 如何使用fsnotify以反应方式摄取文档,对未完成文件进行去抖动处理,并实现幂等重新摄取。
  • 如何处理多模态内容:包括图像上传、视觉模型字幕生成以及在聊天中渲染图像。

课程学习要求

  • 对 Go 编程语言有基本的了解
  • 轻松地阅读和编写 Go 语言的基础知识(包括函数、结构体、接口和 goroutines)
  • 本地安装 Docker,用于运行 Postgres 和 pgvector
  • 使用 OpenAI API 密钥或本地模型运行器(例如 Ollama)——课程支持这两种方式,并会教您如何切换
  • 无需有 RAG、机器学习或向量数据库方面的经验

课程详情介绍

构建生产级别的RAG系统(检索增强生成)——从零到流式聊天

通过使用普通的Go语言,针对任何与OpenAI兼容的模型(本地或托管),亲自学习构建一个RAG系统。

停止阅读关于RAG的内容,开始实际操作。在这个实践课程中,您将完全从头开始,使用Go编程语言构建一个完整的、端到端的检索增强生成系统。无需Python,无需LangChain,没有魔法般的抽象层——只有清晰、地道的Go代码,您可以阅读、修改并拥有它。

课程完成后可获得的完整应用功能

  • 流式终端聊天REPL(读取-求值-打印循环),带有“思考”旋转器和适当的历史管理
  • 基于chi、Go模板和Tailwind构建的浏览器聊天UI,通过SSE(服务器发送事件)向浏览器流式传输令牌,并在浏览器内渲染Markdown
  • 后台文件系统监视器,自动检测新文档,将其分块、嵌入,并插入pgvector中——然后将原始文件移开
  • 网页UI上的同步文件上传路径,支持拖放输入,并提供分块数量反馈
  • 图像上传管道,可选地由具备视觉能力的模型自动生成字幕,然后返回给浏览器并在聊天中内联渲染
  • 具有可配置大小和重叠的段落感知分块器
  • 在检索前将多轮对话转化为独立搜索查询的查询重写器
  • 使用余弦相似度过滤、选择顶级K个命中结果以及可插拔后端的检索器
  • 使用pgvector + Postgres 18的向量存储,具有幂等迁移、HNSW索引和按源删除路径以保持重新摄取干净

课程全面知识收获

  • RAG流水线如何从头到尾工作:分块、嵌入、向量搜索、查询重写、上下文注入和流生成
  • 如何设计Go接口使得大型语言模型(LLM)、嵌入器和向量存储可以互换而不影响其余代码库
  • 如何将LLM令牌流式传输到终端及通过Server-Sent Events到浏览器
  • 如何对OpenAI, Ollama, LM Studio或Groq运行所有内容——以及如何混合搭配使用(例如,使用本地嵌入的托管聊天)
  • 如何在生产环境中使用Postgres + pgvector进行向量搜索,包括HNSW索引和嵌入维度迁移
  • 如何使用fsnotify以反应方式摄取文档,对未完成文件进行去抖动处理,并实现幂等重新摄取
  • 如何处理多模态内容:图像上传、视觉模型字幕生成以及在聊天中渲染图像
  • 如何调试“为什么模型没有使用我的文档?”

课程核心优势

  • 实际可用的代码,而非伪代码。课程中的每一个示例都来自于一个可运行的工作项目。
  • 首选本地化。您可以在笔记本电脑上使用Ollama完成整个课程,无需API费用。
  • 对权衡持开放态度。课程讨论了已知的局限性(如分块器不考虑令牌、删除后再插入不是事务性的、图像检索基于描述),使您了解设计空间,而不仅仅是一个固定答案。

课程技术栈

Go, Postgres 18, pgvector, Docker Compose, chi路由器, Go模板, Tailwind, Server-Sent Events, fsnotify, 与OpenAI兼容的API(适用于OpenAI、Ollama、LM Studio、Groq等)。

课程学习成果

完成本课程后,您将在自己的机器上拥有一款高质量的RAG应用程序,深入理解每一层的工作原理,并有信心将相同的架构应用于实际产品中。您将知道要测量什么、更换什么以及保留什么。现在注册,开始构建自己的RAG系统。

适合学习的人群

  • Go 开发者,希望在不离开自己偏好的编程语言的情况下,理解 AI 应用
  • 希望了解 RAG 是什么样子的 Python AI 工程师,但不想被框架隐藏其机制
  • 后端工程师正在考虑将 RAG 用于实际产品,并希望对整个系统的运作机制有清晰的理解
  • 学生和自学能力强的人,他们更倾向于通过实践构建来学习,而不是仅仅通过阅读来学习
  • 厌倦了“pip install langchain”的教程,想要一些真正能看懂的代码
声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。