Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BM25 ¶
type BM25 struct { // K1 is usually chosen in range [1.2, 2.0] // (in absence of advanced optimization) K1 float32 `yaml:"k1"` // B is usually set to 0.75 (in absence of advanced optimization) B float32 `yaml:"b"` }
BM25 holds parameters for BM25 ranking function.
type Config ¶
type Config struct { DB DB `yaml:"db"` HNSW HNSW `yaml:"hnsw"` TermService GRPCServer `yaml:"term_service"` Embeddings Embeddings `yaml:"embeddings"` BM25 BM25 `yaml:"bm25"` Server Server `yaml:"server"` }
Config holds application-wide configuration settings.
func FromYAMLFile ¶
FromYAMLFile reads a Config object from a YAML file.
Before being decoded, the whole YAML file content is passed through os.ExpandEnv.
type DB ¶
type DB struct { // DSN, dbname excluded. DSN string `yaml:"dsn"` DBName string `yaml:"dbname"` LogLevel DBLogLevel `yaml:"loglevel"` }
DB holds database settings.
type DBLogLevel ¶
type DBLogLevel gormlogger.LogLevel
DBLogLevel is a redefinition of GORM logger.LogLevel which satisfies encoding.TextUnmarshaler, to be conveniently parsed from YAML.
func (*DBLogLevel) UnmarshalText ¶
func (l *DBLogLevel) UnmarshalText(text []byte) error
UnmarshalText satisfies the encoding.TextUnmarshaler interface, unmarshaling the text to a DBLogLevel.
type Embeddings ¶
type Embeddings struct { VectorsFilename string `yaml:"vectors_filename"` Size int `yaml:"size"` DBPath string `yaml:"db_path"` }
Embeddings holds settings for the embeddings vectors and store.
type GRPCServer ¶
GRPCServer holds common settings for connecting to a gRPC server.
type HNSW ¶
type HNSW struct { Server GRPCServer `yaml:"server"` Index HNSWIndex `yaml:"index"` }
HNSW holds settings for connecting to HNSW server and handling vector indices.
type HNSWIndex ¶
type HNSWIndex struct { NamePrefix string `yaml:"name_prefix"` Dim int32 `yaml:"dim"` EfConstruction int32 `yaml:"ef_construction"` M int32 `yaml:"m"` MaxElements int32 `yaml:"max_elements"` Seed int32 `yaml:"seed"` SpaceType HNSWSpaceType `yaml:"space_type"` }
HNSWIndex holds settings for HNSW vector indices.
type HNSWSpaceType ¶
type HNSWSpaceType hnswgrpcapi.CreateIndexRequest_SpaceType
HNSWSpaceType is a redefinition of HNSW gRPC API CreateIndexRequest_SpaceType which satisfies encoding.TextUnmarshaler, to be conveniently parsed from YAML.
func (*HNSWSpaceType) UnmarshalText ¶
func (hst *HNSWSpaceType) UnmarshalText(text []byte) (err error)
UnmarshalText satisfies the encoding.TextUnmarshaler interface, unmarshaling the text to an HNSW gRPC API CreateIndexRequest_SpaceType.
type LogLevel ¶
LogLevel is a redefinition of zerolog.Level which satisfies encoding.TextUnmarshaler, to be conveniently parsed from YAML.
func (*LogLevel) UnmarshalText ¶
UnmarshalText satisfies the encoding.TextUnmarshaler interface, unmarshaling the text to a LogLevel.
type Server ¶
type Server struct { Address string `yaml:"address"` TLSEnabled bool `yaml:"tls_enabled"` TLSCert string `yaml:"tls_cert"` TLSKey string `yaml:"tls_key"` AllowedOrigins []string `yaml:"allowed_origins"` LogLevel LogLevel `yaml:"loglevel"` }
Server holds settings for the HTTP and gRPC server.