diff options
| author | Grail Finder <wohilas@gmail.com> | 2026-03-05 19:20:21 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2026-03-05 19:20:21 +0300 |
| commit | ac8c8bb0558a00cf0d025ab8522aaa57b8cba7de (patch) | |
| tree | f3a78123e7ef5039109b26565041f4a129d1fec2 /rag/rag.go | |
| parent | c2c107c78688dedb8429ef13bd0aa102eeb32fdb (diff) | |
Enha: onnx config vars
Diffstat (limited to 'rag/rag.go')
| -rw-r--r-- | rag/rag.go | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -34,8 +34,20 @@ type RAG struct { } func New(l *slog.Logger, s storage.FullRepo, cfg *config.Config) *RAG { - // Initialize with API embedder by default, could be configurable later - embedder := NewAPIEmbedder(l, cfg) + var embedder Embedder + if cfg.EmbedModelPath != "" && cfg.EmbedTokenizerPath != "" { + emb, err := NewONNXEmbedder(cfg.EmbedModelPath, cfg.EmbedTokenizerPath, cfg.EmbedDims, l) + if err != nil { + l.Error("failed to create ONNX embedder, falling back to API", "error", err) + embedder = NewAPIEmbedder(l, cfg) + } else { + embedder = emb + l.Info("using ONNX embedder", "model", cfg.EmbedModelPath, "dims", cfg.EmbedDims) + } + } else { + embedder = NewAPIEmbedder(l, cfg) + l.Info("using API embedder", "url", cfg.EmbedURL) + } rag := &RAG{ logger: l, store: s, |
