package config import "time" // ==================== 分页与查询 ==================== const ( DefaultPage = 1 DefaultPageSize = 20 MaxPageSize = 100 ) // ==================== Token 与会话 ==================== const ( DefaultAccessTokenExpiry = 24 * time.Hour DefaultRefreshTokenExpiry = 7 * 24 * time.Hour TokenHeader = "Authorization" TokenPrefix = "Bearer " ) // ==================== 文件上传 ==================== const ( MaxFileSize = 10 * 1024 * 1024 // 10MB AllowedFileExtensions = ".pdf,.doc,.docx,.txt,.md,.jpg,.jpeg,.png,.gif,.xlsx,.xls" AllowedMimeTypes = "application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown,image/jpeg,image/png,image/gif,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ) // ==================== AI 模型 ==================== const ( DefaultEmbeddingDimensions = 1024 DefaultEmbeddingModel = "text-embedding-v3" DefaultLLMTemperature = 0.7 DefaultLLMTopP = 0.95 DefaultLLMMaxTokens = 8192 ) // ==================== RateLimit ==================== const ( DefaultRateLimitMax = 100 DefaultRateLimitWindow = 1 * time.Minute ) // ==================== Redis Key 前缀 ==================== const ( RedisKeyPrefixRateLimit = "rl:" RedisKeyPrefixSession = "session:" RedisKeyPrefixToken = "token:" RedisKeyPrefixCache = "cache:" ) // ==================== Chat ==================== const ( MaxConversationHistory = 50 MaxMessageLength = 4000 )