store

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateUsage

func CreateUsage(db *gorm.DB, usage ...*Usage) error

CreateUsage creates a new usage.

func DeleteUsage

func DeleteUsage(db *gorm.DB, timestamp int64, limit int) (int64, error)

DeleteUsage deletes a usage.

Types

type Store

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

Store represents the data store.

func New

func New(db *gorm.DB) *Store

New creates a new store instance.

func NewTest

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

NewTest returns a new test store.

func (*Store) AutoMigrate

func (s *Store) AutoMigrate() error

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

func (*Store) DB

func (s *Store) DB() *gorm.DB

DB returns the database.

type Usage

type Usage struct {
	gorm.Model

	UserID       string `gorm:"uniqueIndex:idx_user_ts"`
	Tenant       string `gorm:"index:idx_tenant_ts"`
	Organization string
	Project      string

	APIKeyID string

	APIMethod  string
	StatusCode int32
	Timestamp  int64 `gorm:"uniqueIndex:idx_user_ts;index:idx_tenant_ts"`
	LatencyMS  int32

	// The following fields are used for chat completions and completions.
	// TODO(kenji): Move these fields to a separate table if needed.
	ModelID            string
	TimeToFirstTokenMS int32
	PromptTokens       int32
	CompletionTokens   int32
}

Usage represents a API usage.

func FindUsages

func FindUsages(db *gorm.DB) ([]*Usage, error)

FindUsages returns the usages. This is used for testing.

Jump to

Keyboard shortcuts

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