Documentation
ΒΆ
Overview ΒΆ
Package gorag provides a Retrieval-Augmented Generation (RAG) framework for Go
GoRAG is a comprehensive framework for building RAG applications that combine large language models (LLMs) with vector databases for efficient information retrieval.
Key features include: - Circuit breaker pattern for service resilience - Graceful degradation for unreliable services - Lazy loading for efficient memory usage - Observability with metrics, logging, and tracing - Plugin system for extensibility - Connection pooling for efficient resource management - Support for multiple vector stores (Memory, Milvus, Pinecone, Qdrant, Weaviate) - Support for multiple embedding providers (Cohere, Ollama, OpenAI, Voyage) - Support for multiple LLM clients (Anthropic, Azure OpenAI, Ollama, OpenAI) - Support for multiple document parsers (CSV, JSON, Markdown, PDF, etc.)
To get started, see the examples in the cmd/gorag directory or refer to the documentation in the docs directory.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
pkg
|
|
|
core
Package entity defines the core entities for the goRAG framework.
|
Package entity defines the core entities for the goRAG framework. |
|
retrieval/answer
Package answer provides answer generation utilities for RAG systems.
|
Package answer provides answer generation utilities for RAG systems. |
|
retrieval/enhancement
Package enhancement provides query and document enhancement utilities for RAG systems.
|
Package enhancement provides query and document enhancement utilities for RAG systems. |
|
retrieval/graph
Package graph provides graph-related utilities for RAG systems.
|
Package graph provides graph-related utilities for RAG systems. |
|
steps/crag
Package crag provides evaluation steps for RAG retrieval quality assessment.
|
Package crag provides evaluation steps for RAG retrieval quality assessment. |
|
steps/decompose
Package decompose provides query decomposition steps for RAG retrieval pipelines.
|
Package decompose provides query decomposition steps for RAG retrieval pipelines. |
|
steps/filter
Package filter provides query preprocessing steps for RAG pipelines.
|
Package filter provides query preprocessing steps for RAG pipelines. |
|
steps/fuse
Package fuse provides result fusion steps for RAG retrieval pipelines.
|
Package fuse provides result fusion steps for RAG retrieval pipelines. |
|
steps/generate
Package generate provides answer generation steps for RAG pipelines.
|
Package generate provides answer generation steps for RAG pipelines. |
|
steps/image
Package image provides image retrieval steps for multimodal RAG pipelines.
|
Package image provides image retrieval steps for multimodal RAG pipelines. |
|
steps/indexing
Package indexing provides document indexing pipeline steps for RAG data preparation.
|
Package indexing provides document indexing pipeline steps for RAG data preparation. |
|
steps/rerank
Package rerank provides reranking steps for RAG retrieval pipelines.
|
Package rerank provides reranking steps for RAG retrieval pipelines. |
|
steps/rewrite
Package rewrite provides query rewriting steps for RAG retrieval pipelines.
|
Package rewrite provides query rewriting steps for RAG retrieval pipelines. |
|
steps/sparse
Package sparse provides sparse retrieval steps using BM25 algorithm.
|
Package sparse provides sparse retrieval steps using BM25 algorithm. |
|
steps/stepback
Package stepback provides query abstraction steps for RAG pipelines.
|
Package stepback provides query abstraction steps for RAG pipelines. |