diff options
author | Grail Finder <wohilas@gmail.com> | 2024-12-31 13:25:13 +0300 |
---|---|---|
committer | Grail Finder <wohilas@gmail.com> | 2024-12-31 13:25:13 +0300 |
commit | 461d19aa2512fea7ac07e50c3178609850ef07c3 (patch) | |
tree | 1e317b813686ca7696e96bba766cdbd3aeb35138 /storage/storage.go | |
parent | 4db8aea43dded3f2c1d0d41b5a3fb322a38d4730 (diff) |
Feat: add rag [wip; skip-ci]
Diffstat (limited to 'storage/storage.go')
-rw-r--r-- | storage/storage.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/storage/storage.go b/storage/storage.go index 0853328..cfaaf0a 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -6,11 +6,13 @@ import ( _ "github.com/glebarez/go-sqlite" "github.com/jmoiron/sqlx" + "github.com/ncruces/go-sqlite3" ) type FullRepo interface { ChatHistory Memories + VectorRepo } type ChatHistory interface { @@ -25,6 +27,7 @@ type ChatHistory interface { type ProviderSQL struct { db *sqlx.DB + s3Conn *sqlite3.Conn logger *slog.Logger } @@ -87,6 +90,7 @@ func (p ProviderSQL) ChatGetMaxID() (uint32, error) { return id, err } +// opens two connections func NewProviderSQL(dbPath string, logger *slog.Logger) FullRepo { db, err := sqlx.Open("sqlite", dbPath) if err != nil { @@ -94,6 +98,11 @@ func NewProviderSQL(dbPath string, logger *slog.Logger) FullRepo { return nil } p := ProviderSQL{db: db, logger: logger} + p.s3Conn, err = sqlite3.Open(dbPath) + if err != nil { + logger.Error("failed to open vecdb connection", "error", err) + return nil + } p.Migrate() return p } |