model

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TableNameOpenaiClients          = "openai_clients"
	TableNameOpenaiModels           = "openai_models"
	TableNameOpenaiRequests         = "openai_requests"
	TableNameOpenaiClientBalance    = "openai_client_balance"
	TableNameWhisperUsers           = "whisper_users"
	TableNameWhisperUserPermissions = "whisper_user_permissions"
	TableNameWhisperUserBalance     = "whisper_user_balance"
)

Variables

View Source
var OpenaiClientBalanceCols = &openaiclientbalanceCols{
	ID:                  "id",
	ClientID:            "client_id",
	BalanceChangeAmount: "balance_change_amount",
	BalanceRemaining:    "balance_remaining",
	Action:              "action",
	Reason:              "reason",
	CreatedAt:           "created_at",
}
View Source
var OpenaiClientCols = &openaiclientCols{
	ID:          "id",
	Description: "description",
	ApiKey:      "api_key",
	Endpoint:    "endpoint",
	Weight:      "weight",
	CreatedAt:   "created_at",
	UpdatedAt:   "updated_at",
}
View Source
var OpenaiModelCols = &openaimodelCols{
	ID:              "id",
	ClientID:        "client_id",
	Model:           "model",
	Type:            "type",
	MaxTokens:       "max_tokens",
	PromptPrice:     "prompt_price",
	CompletionPrice: "completion_price",
	RpmLimit:        "rpm_limit",
	TpmLimit:        "tpm_limit",
	CreatedAt:       "created_at",
	UpdatedAt:       "updated_at",
}
View Source
var OpenaiRequestCols = &openairequestCols{
	ID:                   "id",
	ClientID:             "client_id",
	RequestID:            "request_id",
	TraceID:              "trace_id",
	ModelID:              "model_id",
	UserID:               "user_id",
	RequestIP:            "request_ip",
	PromptTokenUsage:     "prompt_token_usage",
	CompletionTokenUsage: "completion_token_usage",
	BalanceCost:          "balance_cost",
	CreatedAt:            "created_at",
}
View Source
var WhisperUserBalanceCols = &whisperuserbalanceCols{
	ID:                  "id",
	UserID:              "user_id",
	BalanceChangeAmount: "balance_change_amount",
	BalanceRemaining:    "balance_remaining",
	Action:              "action",
	Reason:              "reason",
	CreatedAt:           "created_at",
}
View Source
var WhisperUserCols = &whisperuserCols{
	ID:        "id",
	Email:     "email",
	ApiKey:    "api_key",
	Role:      "role",
	Language:  "language",
	AllowIps:  "allow_ips",
	CreatedAt: "created_at",
	UpdatedAt: "updated_at",
}
View Source
var WhisperUserPermissionCols = &whisperuserpermissionCols{
	ID:        "id",
	UserID:    "user_id",
	ModelID:   "model_id",
	CreatedAt: "created_at",
}

Functions

This section is empty.

Types

type EnumOpenaiClientBalanceAction

type EnumOpenaiClientBalanceAction = string
const (
	OpenaiClientBalanceActionConsumption EnumOpenaiClientBalanceAction = "consumption" // 1. 消费:Consumption - Natural consumption in the system
	OpenaiClientBalanceActionRecharge    EnumOpenaiClientBalanceAction = "recharge"    // 2. 充值:Recharge - Actively recharging in the system
	OpenaiClientBalanceActionGift        EnumOpenaiClientBalanceAction = "gift"        // 3. 赠送:Gift - Given according to rules
	OpenaiClientBalanceActionSpecial     EnumOpenaiClientBalanceAction = "special"     // 4. 特殊:Special - Manually changed by an administrator
	OpenaiClientBalanceActionInitial     EnumOpenaiClientBalanceAction = "initial"     // 5. 初始:Initial - Initial balance when the account is created
)

type EnumWhisperUserBalanceAction

type EnumWhisperUserBalanceAction = string
const (
	WhisperUserBalanceActionConsumption EnumWhisperUserBalanceAction = "consumption" // 1. 消费:Consumption - Natural consumption in the system
	WhisperUserBalanceActionRecharge    EnumWhisperUserBalanceAction = "recharge"    // 2. 充值:Recharge - Actively recharging in the system
	WhisperUserBalanceActionGift        EnumWhisperUserBalanceAction = "gift"        // 3. 赠送:Gift - Given according to rules
	WhisperUserBalanceActionSpecial     EnumWhisperUserBalanceAction = "special"     // 4. 特殊:Special - Manually changed by an administrator
	WhisperUserBalanceActionInitial     EnumWhisperUserBalanceAction = "initial"     // 5. 初始:Initial - Initial balance when the user is created
)

type OpenaiClient

type OpenaiClient struct {
	ID          int64     `gorm:"column:id;type:integer;autoIncrement:true;primaryKey;index:idx_ids"`
	Description string    `gorm:"column:description;type:varchar(64);not null;comment:openai_service_description;uniqueIndex:idx_desc"`
	ApiKey      string    `gorm:"column:api_key;type:varchar(256);not null;comment:openai_service_api_key;index:idx_api_key"`
	Endpoint    string    `gorm:"column:endpoint;type:varchar(64);not null;comment:openai_service_endpoint;index:idx_endpoint"`
	Weight      int       `gorm:"column:weight;type:integer;not null;comment:openai_service_weight;index:idx_weight"`
	CreatedAt   time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
	UpdatedAt   time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
}

OpenaiClient openai service secret

Reference: https://docs.alioth.center/akasha-whisper-database.html#openai-clients

func (OpenaiClient) TableName

func (c OpenaiClient) TableName() string

type OpenaiClientBalance

type OpenaiClientBalance struct {
	ID                  int64           `gorm:"column:id;type:integer;autoIncrement:true;primaryKey:true"`
	ClientID            int64           `gorm:"column:client_id;type:integer;not null;index:idx_client_id;index:idx_scan"`
	BalanceChangeAmount decimal.Decimal `gorm:"column:balance_change_amount;type:decimal(16,8);not null;default:0"`
	BalanceRemaining    decimal.Decimal `gorm:"column:balance_remaining;type:decimal(16,8);not null;default:0;index:idx_balance_remaining"`
	Action              string          `gorm:"column:action;type:varchar(32);not null;index:idx_action"`
	Reason              string          `gorm:"column:reason;type:varchar(255);not null;default:''"`
	CreatedAt           time.Time       `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;index:idx_created_at;index:idx_scan"`
}

OpenaiClientBalance openai client balance record

Reference: https://docs.alioth.center/akasha-whisper-database.html#openai-client-balance

func (OpenaiClientBalance) TableName

func (m OpenaiClientBalance) TableName() string

type OpenaiModel

type OpenaiModel struct {
	ID              int64           `gorm:"column:id;type:integer;autoIncrement:true;primaryKey;uniqueIndex:idx_ids"`
	ClientID        int64           `` /* 133-byte string literal not displayed */
	Model           string          `gorm:"column:model;type:varchar(32);not null;comment:openai_model_name;index:idx_name;uniqueIndex:idx_names"`
	Type            string          `gorm:"column:type;type:varchar(64);not null;comment:openai_model_type;default:chat;index:idx_type"`
	MaxTokens       int             `gorm:"column:max_tokens;type:integer;not null;comment:openai_max_tokens"`
	PromptPrice     decimal.Decimal `gorm:"column:prompt_price;type:decimal(16,8);not null;comment:openai_prompt_price"`
	CompletionPrice decimal.Decimal `gorm:"column:completion_price;type:decimal(16,8);not null;comment:openai_completion_price"`
	RpmLimit        int             `gorm:"column:rpm_limit;type:integer;not null;default:-1;comment:openai_rpm_limit"`
	TpmLimit        int             `gorm:"column:tpm_limit;type:integer;not null;default:-1;comment:openai_tpm_limit"`
	CreatedAt       time.Time       `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
	UpdatedAt       time.Time       `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
}

OpenaiModel openai model

Reference: https://docs.alioth.center/akasha-whisper-database.html#openai-models

func (OpenaiModel) TableName

func (m OpenaiModel) TableName() string

type OpenaiRequest

type OpenaiRequest struct {
	ID                   int64           `gorm:"column:id;type:integer;autoIncrement:true;primaryKey;index:idx_ids"`
	ClientID             int64           `gorm:"column:client_id;type:integer;not null;comment:openai_client_id;index:idx_client_ids"`
	RequestID            string          `gorm:"column:request_id;type:varchar(64);not null;comment:openai_request_id;index:idx_request_ids"`
	TraceID              string          `gorm:"column:trace_id;type:varchar(64);not null;comment:openai_trace_id;index:idx_trace_ids"`
	ModelID              int64           `gorm:"column:model_id;type:integer;not null;comment:openai_model_id;index:idx_model_ids"`
	UserID               int64           `gorm:"column:user_id;type:integer;not null;comment:openai_user_id;index:idx_user_ids"`
	RequestIP            string          `gorm:"column:request_ip;type:varchar(40);not null;comment:openai_request_ip;index:idx_request_ips"`
	PromptTokenUsage     int             `gorm:"column:prompt_token_usage;type:integer;not null;comment:openai_prompt_token_usage"`
	CompletionTokenUsage int             `gorm:"column:completion_token_usage;type:integer;not null;comment:openai_completion_token_usage"`
	BalanceCost          decimal.Decimal `gorm:"column:balance_cost;type:decimal(16,8);not null;comment:openai_balance_cost;index:idx_balance_costs"`
	CreatedAt            time.Time       `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
}

OpenaiRequest openai request

Reference: https://docs.alioth.center/akasha-whisper-database.html#openai-requests

func (OpenaiRequest) TableName

func (r OpenaiRequest) TableName() string

type WhisperUser

type WhisperUser struct {
	ID        int64     `gorm:"column:id;type:integer;autoIncrement:true;primaryKey;index:idx_ids"`
	Email     string    `gorm:"column:email;type:varchar(64);not null;comment:whisper_user_email;uniqueIndex:idx_emails"`
	ApiKey    string    `gorm:"column:api_key;type:varchar(64);not null;comment:whisper_user_api_key;uniqueIndex:idx_api_keys"`
	Role      string    `gorm:"column:role;type:varchar(10);not null;comment:whisper_user_role;index:idx_roles"`
	Language  string    `gorm:"column:language;type:varchar(2);not null;default:en;comment:whisper_user_language"`
	AllowIps  string    `gorm:"column:allow_ips;type:varchar(128);not null;comment:whisper_user_allow_ips;index:idx_allow_ips"`
	CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
	UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
}

WhisperUser whisper user

Reference: https://docs.alioth.center/akasha-whisper-database.html#whisper-users

func (WhisperUser) TableName

func (u WhisperUser) TableName() string

type WhisperUserBalance

type WhisperUserBalance struct {
	ID                  int64           `gorm:"column:id;type:integer;autoIncrement:true;primaryKey:true"`
	UserID              int64           `gorm:"column:user_id;type:integer;not null;index:idx_client_id;index:idx_scan"`
	BalanceChangeAmount decimal.Decimal `gorm:"column:balance_change_amount;type:decimal(16,8);not null;default:0"`
	BalanceRemaining    decimal.Decimal `gorm:"column:balance_remaining;type:decimal(16,8);not null;default:0;index:idx_balance_remaining"`
	Action              string          `gorm:"column:action;type:varchar(32);not null;index:idx_action"`
	Reason              string          `gorm:"column:reason;type:varchar(255);not null;default:''"`
	CreatedAt           time.Time       `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;index:idx_created_at;index:idx_scan"`
}

WhisperUserBalance whisper user balance record

Reference: https://docs.alioth.center/akasha-whisper-database.html#whisper-user-balance

func (WhisperUserBalance) TableName

func (m WhisperUserBalance) TableName() string

type WhisperUserPermission

type WhisperUserPermission struct {
	ID        int64     `gorm:"column:id;type:integer;autoIncrement:true;primaryKey;index:idx_ids"`
	UserID    int64     `gorm:"column:user_id;type:integer;not null;comment:whisper_user_id;index:idx_user_ids;uniqueIndex:idx_perm"`
	ModelID   int64     `gorm:"column:model_id;type:integer;not null;comment:whisper_model_id;index:idx_model_ids;uniqueIndex:idx_perm"`
	CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP"`
}

WhisperUserPermission whisper user permission

Reference: https://docs.alioth.center/akasha-whisper-database.html#whisper-user-permissions

func (WhisperUserPermission) TableName

func (p WhisperUserPermission) TableName() string

type WhisperUserRoleEnum

type WhisperUserRoleEnum = string
const (
	WhisperUserRoleUser   WhisperUserRoleEnum = "user"
	WhisperUserRoleClient WhisperUserRoleEnum = "client"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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