Releases: raykavin/gorag
Releases · raykavin/gorag
v0.0.3
v0.0.3 - Role-based knowledge loading for RAG
This release introduces native support for knowledge roles (system and user) in the loader and RAG engine pipeline.
Added
rolefield inpkg/models.KnowledgeChunk.- Role normalization during
engine.ReadKnowledge:systemstayssystem- missing/invalid values default to
user(backward compatible)
- Role propagation to all expanded chunks created from
filesandfiles_path.
Engine updates
engine.Confignow supportsSystemPrompt string.RAGEnginenow stores fixed system context and exposes it throughSystemPrompt().
Reliability improvements
ReadKnowledgenow wraps underlying read/parse errors while preserving sentinel compatibility (errors.IswithErrReadingKnowledgeFileandErrParsingKnowledgeFile).- Internal retrieval/filtering paths were tightened to avoid in-place slice mutation side effects.
Tests
- Added/updated tests for:
- role propagation in expanded knowledge chunks
- default role fallback to
user - error assertions using
errors.Is
Compatibility
- No breaking changes.
- Existing
knowledge.jsonfiles withoutrolecontinue to work unchanged.
Example
[
{
"id": "k1",
"category": "persona",
"files_path": "./kb/persona.md",
"role": "system"
},
{
"id": "k2",
"category": "faq",
"files_path": "./kb/faq",
"role": "user"
}
]v0.0.2 - Hybrid Retrieval and Context Assembly
What's New
- Added hybrid retrieval mode combining dense and keyword search with Reciprocal Rank Fusion (RRF).
- Added hybrid + reranker mode (
hybrid_reranker) for higher precision when reranking is available. - Improved context generation with structured chunk headers (
chunk_id,source, optional metadata), score filtering, and character-budget controls.
Improvements
- More robust context assembly with configurable limits:
ContextMaxto cap total context sizeChunkMaxto cap each chunk contribution
- Better retrieval defaults and candidate expansion logic for hybrid search quality.
- README updates and project naming consistency (
gorag).
Fixes
- Reduced noisy embedding progress logging in
ProgressEmbedder. - Added safeguards to avoid empty/low-signal context output when scores are below threshold.
Tests
- Added/updated tests for hybrid retrieval behavior, retrieval mode normalization, and context character-budget enforcement.
v0.0.1 - Initial Release
Overview
v0.0.1 is the first stable public release of gorag, introducing a complete Retrieval-Augmented Generation (RAG) foundation in Go.
Highlights
- Introduced the core
RAGEnginewith retrieval and context-building flow. - Added reranking support for improving final context relevance.
- Implemented document loading and chunk processing pipeline.
- Added concurrent progress-based embedding for batch operations.
- Added embedding and response caching layers for performance and cost optimization.
- Added Qdrant integration with collection bootstrap and management helpers.
- Added domain models for chat responses, knowledge chunks, and tool call logs.
Quality and Testing
- Added unit tests across core engine, cache, and store components.
- Included tests for cache embedder behavior and indexing correctness.
Developer Experience
- Added a working basic usage example under
examples/basic. - Improved documentation and project structure.
- Added MIT license and updated README content.