Files
wehub-resource-sync 6d978fe483
Build / Frontend Build (push) Has been cancelled
Build / Backend Build (push) Has been cancelled
Build / Docker Build (push) Has been cancelled
Build / Kubernetes Deploy Smoke Test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:35:24 +08:00

41 lines
2.4 KiB
Go

package models
import "time"
// ModelInvocation stores a governed LLM request/response record.
type ModelInvocation struct {
ID int `db:"id,primarykey,autoincrement" json:"id"`
TraceID string `db:"trace_id" json:"trace_id"`
SessionID *string `db:"session_id" json:"session_id,omitempty"`
RequestID string `db:"request_id" json:"request_id"`
UserID *int `db:"user_id" json:"user_id,omitempty"`
InstanceID *int `db:"instance_id" json:"instance_id,omitempty"`
InstanceMode *string `db:"instance_mode" json:"instance_mode,omitempty"`
RuntimeType *string `db:"runtime_type" json:"runtime_type,omitempty"`
GatewayID *string `db:"gateway_id" json:"gateway_id,omitempty"`
RuntimePodID *int64 `db:"runtime_pod_id" json:"runtime_pod_id,omitempty"`
ModelID *int `db:"model_id" json:"model_id,omitempty"`
ProviderType string `db:"provider_type" json:"provider_type"`
RequestedModel string `db:"requested_model" json:"requested_model"`
ActualProviderModel string `db:"actual_provider_model" json:"actual_provider_model"`
TrafficClass string `db:"traffic_class" json:"traffic_class"`
RequestPayload *string `db:"request_payload" json:"request_payload,omitempty"`
ResponsePayload *string `db:"response_payload" json:"response_payload,omitempty"`
PromptTokens int `db:"prompt_tokens" json:"prompt_tokens"`
CompletionTokens int `db:"completion_tokens" json:"completion_tokens"`
TotalTokens int `db:"total_tokens" json:"total_tokens"`
CachedTokens *int `db:"cached_tokens" json:"cached_tokens,omitempty"`
ReasoningTokens *int `db:"reasoning_tokens" json:"reasoning_tokens,omitempty"`
LatencyMs *int `db:"latency_ms" json:"latency_ms,omitempty"`
IsStreaming bool `db:"is_streaming" json:"is_streaming"`
Status string `db:"status" json:"status"`
ErrorMessage *string `db:"error_message" json:"error_message,omitempty"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
CompletedAt *time.Time `db:"completed_at" json:"completed_at,omitempty"`
}
// TableName returns the table name for model invocations.
func (m ModelInvocation) TableName() string {
return "model_invocations"
}