MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / Sort

Method Sort

module/ai-balance/iml.go:139–173  ·  view source on GitHub ↗
(ctx context.Context, input *ai_balance_dto.Sort)

Source from the content-addressed store, hash-verified

137}
138
139func (i *imlBalanceModule) Sort(ctx context.Context, input *ai_balance_dto.Sort) error {
140 var list []*ai_balance.Balance
141 var err error
142 switch input.Sort {
143 case "after":
144 list, err = i.balanceService.SortAfter(ctx, input.Origin, input.Target)
145 default:
146 list, err = i.balanceService.SortBefore(ctx, input.Origin, input.Target)
147 }
148 if err != nil {
149 return err
150 }
151 v, has := i.settingService.Get(ctx, "system.ai_model.ollama_address")
152 if !has {
153 return fmt.Errorf("ollama address not found")
154 }
155 releases := make([]*gateway.DynamicRelease, 0, len(list))
156 for _, item := range list {
157 base := v
158 if item.Provider != ai_provider_local.ProviderLocal {
159 p, has := model_runtime.GetProvider(item.Provider)
160 if !has {
161 continue
162 }
163 base = fmt.Sprintf("%s://%s", p.URI().Scheme(), p.URI().Host())
164 }
165
166 releases = append(releases, newRelease(item, base))
167 }
168 err = i.syncGateway(ctx, cluster.DefaultClusterID, releases, true)
169 if err != nil {
170 return err
171 }
172 return nil
173}
174
175func (i *imlBalanceModule) List(ctx context.Context, keyword string) ([]*ai_balance_dto.Item, error) {
176 list, err := i.balanceService.Search(ctx, keyword, nil, "priority asc")

Callers

nothing calls this directly

Calls 8

syncGatewayMethod · 0.95
newReleaseFunction · 0.85
SortAfterMethod · 0.65
SortBeforeMethod · 0.65
GetMethod · 0.65
SchemeMethod · 0.65
URIMethod · 0.65
HostMethod · 0.65

Tested by

no test coverage detected