store

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UnmarshalModelFormats

func UnmarshalModelFormats(b []byte) ([]v1.ModelFormat, error)

UnmarshalModelFormats unmarshals model formats.

Types

type BaseModel

type BaseModel struct {
	gorm.Model

	TenantID string `gorm:"uniqueIndex:idx_base_model_model_id_tenant_id"`

	ModelID string `gorm:"uniqueIndex:idx_base_model_model_id_tenant_id"`
	Path    string

	Formats []byte

	// GGUFModelPath is the path to the GGUF model.
	GGUFModelPath string
}

BaseModel represents a base model.

type HFModelRepo added in v1.4.0

type HFModelRepo struct {
	gorm.Model

	Name     string `gorm:"uniqueIndex:idx_hf_model_repo_name_tenant_id"`
	TenantID string `gorm:"uniqueIndex:idx_hf_model_repo_name_tenant_id"`
}

HFModelRepo represents a HuggingFace model repository where models are downloaded from. This is used to track a HuggingFace repo that has one-to-many mapping to base models.

The record is created when the download completes.

type Model

type Model struct {
	gorm.Model

	// ModelID is the model ID. It is globally unique.
	ModelID string `gorm:"uniqueIndex"`

	TenantID       string `gorm:"index"`
	OrganizationID string
	ProjectID      string `gorm:"index"`

	Path        string
	IsPublished bool

	BaseModelID  string `gorm:"index"`
	Adapter      v1.AdapterType
	Quantization v1.QuantizationType
}

Model represents a model.

type ModelSpec

type ModelSpec struct {
	ModelID        string
	TenantID       string
	OrganizationID string
	ProjectID      string
	Path           string
	IsPublished    bool
	BaseModelID    string
	Adapter        v1.AdapterType
	Quantization   v1.QuantizationType
}

ModelSpec represents a model spec that is passed to CreateModel.

type S

type S struct {
	// contains filtered or unexported fields
}

S represents the data store.

func New

func New(db *gorm.DB) *S

New creates a new store instance.

func NewTest

func NewTest(t *testing.T) (*S, func())

NewTest returns a new test store.

func (*S) AutoMigrate

func (s *S) AutoMigrate() error

AutoMigrate sets up the auto-migration task of the database.

func (*S) CreateBaseModel

func (s *S) CreateBaseModel(
	modelID string,
	path string,
	formats []v1.ModelFormat,
	ggufModelPath string,
	tenantID string,
) (*BaseModel, error)

CreateBaseModel creates a model.

func (*S) CreateHFModelRepo added in v1.4.0

func (s *S) CreateHFModelRepo(
	name string,
	tenantID string,
) (*HFModelRepo, error)

CreateHFModelRepo creates a model repo.

func (*S) CreateModel

func (s *S) CreateModel(spec ModelSpec) (*Model, error)

CreateModel creates a model.

func (*S) CreateStorageConfig

func (s *S) CreateStorageConfig(tenantID, pathPrefix string) (*StorageConfig, error)

CreateStorageConfig creates a storage configuration.

func (*S) DeleteModel

func (s *S) DeleteModel(modelID, projectID string) error

DeleteModel deletes a model by model ID and tenant ID.

func (*S) GetBaseModel

func (s *S) GetBaseModel(modelID, tenantID string) (*BaseModel, error)

GetBaseModel returns a base model by model ID and tenant ID.

func (*S) GetHFModelRepo added in v1.4.0

func (s *S) GetHFModelRepo(name, tenantID string) (*HFModelRepo, error)

GetHFModelRepo returns a repo by the repo namen and tenant ID.

func (*S) GetModelByModelID

func (s *S) GetModelByModelID(modelID string) (*Model, error)

GetModelByModelID returns a model by model ID.

func (*S) GetPublishedModelByModelIDAndProjectID

func (s *S) GetPublishedModelByModelIDAndProjectID(modelID, projectID string) (*Model, error)

GetPublishedModelByModelIDAndProjectID returns a published model by model ID and tenant ID.

func (*S) GetPublishedModelByModelIDAndTenantID

func (s *S) GetPublishedModelByModelIDAndTenantID(modelID, tenantID string) (*Model, error)

GetPublishedModelByModelIDAndTenantID returns a model by model ID.

func (*S) GetStorageConfig

func (s *S) GetStorageConfig(tenantID string) (*StorageConfig, error)

GetStorageConfig returns a storage configuration by tenant ID.

func (*S) ListBaseModels

func (s *S) ListBaseModels(tenantID string) ([]*BaseModel, error)

ListBaseModels returns all base models for a tenant.

func (*S) ListHFModelRepos added in v1.4.0

func (s *S) ListHFModelRepos(tenantID string) ([]*HFModelRepo, error)

ListHFModelRepos returns all HuggingFace model repos for a tenant.

func (*S) ListModelsByProjectID

func (s *S) ListModelsByProjectID(projectID string, onlyPublished bool) ([]*Model, error)

ListModelsByProjectID finds models.

func (*S) UpdateModel

func (s *S) UpdateModel(modelID string, tenantID string, isPublished bool) error

UpdateModel updates the model.

type StorageConfig

type StorageConfig struct {
	gorm.Model

	TenantID string `gorm:"uniqueIndex"`

	// PathPrefix is the prefix of the S3 path for storing models.
	PathPrefix string
}

StorageConfig represents a storage configuration for a tenant.

Jump to

Keyboard shortcuts

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