native

package
v1.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: MIT Imports: 14 Imported by: 0

README

NativeRAG 检索器

NativeRAG(基础 RAG)是最简单的 RAG 流水线形式。它遵循直接的“检索-生成”模式,不包含复杂的查询转换或重排序过程。

流水线结构

NativeRAG 流水线由以下步骤组成:

  1. 向量搜索 (Vector Search):根据用户查询的嵌入向量,在向量数据库中搜索相关的文档分块。
  2. 提示词生成 (Prompt Generation):将检索到的上下文与用户查询组合成最终的提示词。
  3. 生成 (Generation):将提示词发送给 LLM,生成最终答案。

适用场景

  • 对延迟要求极高的实时问答。
  • 知识库内容简单、查询意图明确的场景。
  • 作为高级 RAG 方案的基准线(Baseline)。

使用示例

import (
    "github.com/DotNetAge/gorag/pkg/retriever/native"
)

retriever := native.NewRetriever(
    vectorStore,
    embedder,
    llm,
    // 其他选项...
)

response, err := retriever.Retrieve(ctx, "什么是 GoRAG?")

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultNativeRetriever added in v1.1.3

func DefaultNativeRetriever(opts ...Option) (core.Retriever, error)

DefaultNativeRetriever creates an out-of-the-box Native Retriever.

func DefaultRetriever added in v1.1.3

func DefaultRetriever(opts ...Option) (core.Retriever, error)

DefaultRetriever is an alias for DefaultNativeRetriever.

func NewRetriever

func NewRetriever(
	vectorStore core.VectorStore,
	embedder embedding.Provider,
	llm chat.Client,
	topK int,
	logger logging.Logger,
) core.Retriever

func NewRetrieverWithOptions

func NewRetrieverWithOptions(
	vectorStore core.VectorStore,
	embedder embedding.Provider,
	llm chat.Client,
	topK int,
	opts Options,
) core.Retriever

Types

type Option added in v1.1.3

type Option func(*Options)

func WithDocStore added in v1.1.3

func WithDocStore(s store.DocStore) Option

func WithEmbedder added in v1.1.3

func WithEmbedder(e embedding.Provider) Option

func WithLLM added in v1.1.3

func WithLLM(l chat.Client) Option

func WithLogger added in v1.1.3

func WithLogger(l logging.Logger) Option

func WithName added in v1.1.4

func WithName(name string) Option

func WithTopK added in v1.1.3

func WithTopK(k int) Option

func WithTracer added in v1.1.3

func WithTracer(t observability.Tracer) Option

func WithVectorStore added in v1.1.3

func WithVectorStore(s core.VectorStore) Option

func WithWorkDir added in v1.1.3

func WithWorkDir(dir string) Option

type Options

type Options struct {
	Name        string
	Logger      logging.Logger
	Tracer      observability.Tracer
	Embedder    embedding.Provider
	LLM         chat.Client
	TopK        int
	WorkDir     string
	VectorStore core.VectorStore
	DocStore    store.DocStore
}

Options for native retriever

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL