ERENOA
← Works に戻る 技術書

GoエンジニアのためのRAG実践入門 — Zenn技術書

GoでRAGをフレームワークなしで実装する無料の技術書。

最小の検索から、検索改善・回答品質の評価まで全9章。

Clean Architectureで処理を分け、REST API化まで解説。

Zennで公開している技術書と章構成
  1. 01RAGとは何か — LLMの限界と解決策
  2. 02RAGを支える技術要素 — Embedding・Vector DB・チャンキング
  3. 03GoでNaive RAGを実装する — 50行で動く最小RAG
  4. 04チャンキング戦略の実装と比較 — 切り方で精度が変わる
  5. 05検索精度を改善する — Re-ranking・HyDE・Multi-query
  6. 06Clean ArchitectureでRAGを設計する
  7. 07RAGを評価する — 定量指標とパラメータチューニング
  8. 08プロダクトへの組み込み — REST APIとして公開する
  9. 09Advanced RAG — 次のステップ
Zennで公開している技術書と章構成
GoRAGLLMEmbeddingClean Architecture

紹介

GoでRAG(検索拡張生成)をフレームワークなしで実装する無料のZenn Book。Embedding・チャンキング・検索改善からClean Architecture、評価、REST API化までを全9章で解説します。

Case study / 09

誰のどんな課題か

RAG(検索拡張生成)の仕組みを理解し、既存のGoバックエンドに組み込みたいGoエンジニアに向けた技術書です。処理をブラックボックスにせず、ほかのフレームワークにも応用できる理解を目指して、langchaingoなどのRAGフレームワークを使わずに実装します。

誰のどんな課題か
  1. Go
  2. RAG
  3. フレームワークなし

やったこと・設計の判断

最小の実装から、検索と回答の評価へ進む

Embedding・Vector DB・チャンキングの基礎を説明し、第3章ではVector DBを使わずGoのスライスでNaive RAGを実装します。小さな文書集合をループで検索し、仕組みを理解してから、チャンキング戦略とRe-ranking・HyDE・Multi-queryによる検索改善へ進む構成です。

第5章のRe-rankingは仕組みを理解するためにLLMで実装し、本番ではCross-encoderかCohere Rerank APIを使う構成を示しています。

差し替えとテストを可能にする層構成

第6章でClean Architectureに組み替え、Embeddingモデル・Vector DB・生成処理を差し替えられる形にします。cmd/main.goで依存関係を組み立て、APIを呼ばずにテストできる設計を扱います。

第7章ではHit@K・Faithfulness・Relevancy・Correctnessを実装し、チャンキング戦略とtop-Kの組み合わせを比較。検索精度に加えて回答品質を測ります。第8章では質問・文書登録・ヘルスチェックとストリーミングのREST APIを実装し、第9章でAdvanced RAGへの次のステップを紹介します。

やったこと・設計の判断
  1. 検索
  2. 回答
  3. 評価
  4. REST API

技術

  • Go 1.22以降/Clean Architecture(domain・usecase・infra)
  • サンプルのEmbedding:text-embedding-3-small、生成:GPT-4o-mini
  • APIクライアント:github.com/sashabaranov/go-openai
  • Vector Store:自前のインメモリ実装。Qdrant・pgvectorは差し替え先として紹介
  • チャンキング:見出し・小見出し・固定長の3戦略
  • REST API:第8章の例ではEchoのルーティングを使用
技術
  1. domain
  2. usecase
  3. infra

規模・数字

  • 全9章、約46,123字。Zennで無料公開。
  • 第3〜8章に対応するサンプルは7プログラムと共通パッケージ6つ。
  • 公開日は2026年4月13日、本文更新日は2026年9月8日。

担当

著者:ERENOA(Zennユーザー名:erenoa6622)。

公開リンク