| 12345678910111213141516171819202122232425262728293031323334 |
- package model
- // GetModelEnableGroups 返回指定模型名称可用的用户分组列表。
- // 使用在 updatePricing() 中维护的缓存映射,O(1) 读取,适合高并发场景。
- func GetModelEnableGroups(modelName string) []string {
- // 确保缓存最新
- GetPricing()
- if modelName == "" {
- return make([]string, 0)
- }
- modelEnableGroupsLock.RLock()
- groups, ok := modelEnableGroups[modelName]
- modelEnableGroupsLock.RUnlock()
- if !ok {
- return make([]string, 0)
- }
- return groups
- }
- // GetModelQuotaType 返回指定模型的计费类型(quota_type)。
- // 同样使用缓存映射,避免每次遍历定价切片。
- func GetModelQuotaType(modelName string) int {
- GetPricing()
- modelEnableGroupsLock.RLock()
- quota, ok := modelQuotaTypeMap[modelName]
- modelEnableGroupsLock.RUnlock()
- if !ok {
- return 0
- }
- return quota
- }
|