embed work
This commit is contained in:
+33
-8
@@ -5,6 +5,8 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"log/slog"
|
||||
"net"
|
||||
"net/url"
|
||||
"os"
|
||||
)
|
||||
|
||||
@@ -18,13 +20,30 @@ type Config struct {
|
||||
}
|
||||
|
||||
type DbConfig struct {
|
||||
Url string
|
||||
Port string
|
||||
DbName string
|
||||
User string
|
||||
Password string
|
||||
History HistoryConfig
|
||||
Memory MemoryConfig
|
||||
Url string
|
||||
Port string
|
||||
DbName string
|
||||
User string
|
||||
Password string
|
||||
History HistoryConfig
|
||||
Memory MemoryConfig
|
||||
Embedding EmbeddingConfig
|
||||
}
|
||||
|
||||
func (config DbConfig) ConnectionString() string {
|
||||
u := &url.URL{
|
||||
Scheme: "postgres",
|
||||
User: url.UserPassword(config.User, config.Password),
|
||||
Host: net.JoinHostPort(config.Url, config.Port),
|
||||
Path: config.DbName,
|
||||
}
|
||||
return u.String()
|
||||
}
|
||||
|
||||
type EmbeddingConfig struct {
|
||||
Url string
|
||||
key string
|
||||
Model string
|
||||
}
|
||||
|
||||
type MemoryConfig struct {
|
||||
@@ -126,13 +145,16 @@ func overrideFromEnv(cfg *Config) {
|
||||
{conf: &cfg.Api.Url, key: ENV_PREFIX + "api__url"},
|
||||
{conf: &cfg.Api.Key, key: ENV_PREFIX + "api__key"},
|
||||
{conf: &cfg.Llm.Model, key: ENV_PREFIX + "llm__model"},
|
||||
{conf: &cfg.Db.Embedding.Url, key: ENV_PREFIX + "db__embedding__url"},
|
||||
{conf: &cfg.Db.Embedding.key, key: ENV_PREFIX + "db__embedding__key"},
|
||||
{conf: &cfg.Db.Embedding.Model, key: ENV_PREFIX + "db__embedding__model"},
|
||||
{conf: &cfg.Db.DbName, key: ENV_PREFIX + "db__dbName"},
|
||||
{conf: &cfg.Db.Url, key: ENV_PREFIX + "db__url"},
|
||||
{conf: &cfg.Db.User, key: ENV_PREFIX + "db__user"},
|
||||
{conf: &cfg.Db.Password, key: ENV_PREFIX + "db__password"},
|
||||
{conf: &cfg.Db.Port, key: ENV_PREFIX + "db__port"},
|
||||
}
|
||||
for _, override := range(overrides) {
|
||||
for _, override := range overrides {
|
||||
val := os.Getenv(override.key)
|
||||
if val != "" {
|
||||
*override.conf = val
|
||||
@@ -144,5 +166,8 @@ func (cfg Config) validate() error {
|
||||
if cfg.Api.Url == "" {
|
||||
return errors.New("No API url configured")
|
||||
}
|
||||
if cfg.Db.Embedding.Model == "" {
|
||||
return errors.New("No embedding model configured")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user