// // Copyright 2026 The InfiniFlow Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package entity // TenantLLM tenant LLM model // Python uses PrimaryKeyField (auto-increment ID) with unique index on (tenant_id, llm_factory, llm_name) type TenantLLM struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement" json:"id"` TenantID string `gorm:"column:tenant_id;size:32;not null;index" json:"tenant_id"` LLMFactory string `gorm:"column:llm_factory;size:128;not null" json:"llm_factory"` ModelType *string `gorm:"column:model_type;size:128;index" json:"model_type,omitempty"` LLMName *string `gorm:"column:llm_name;size:128;index;default:''" json:"llm_name,omitempty"` APIKey *string `gorm:"column:api_key;size:8192" json:"api_key,omitempty"` APIBase *string `gorm:"column:api_base;size:255" json:"api_base,omitempty"` MaxTokens int64 `gorm:"column:max_tokens;default:8192" json:"max_tokens"` UsedTokens int64 `gorm:"column:used_tokens;default:0" json:"used_tokens"` Status string `gorm:"column:status;size:1;not null;default:1;index" json:"status"` BaseModel } // TableName specify table name func (TenantLLM) TableName() string { return "tenant_llm" }