MCPcopy
hub / github.com/mudler/LocalAI / DeleteModelFiles

Method DeleteModelFiles

core/services/nodes/unloader.go:311–332  ·  view source on GitHub ↗

DeleteModelFiles sends model.delete to all nodes that have the model cached. This removes model files from worker disks.

(modelName string)

Source from the content-addressed store, hash-verified

309// DeleteModelFiles sends model.delete to all nodes that have the model cached.
310// This removes model files from worker disks.
311func (a *RemoteUnloaderAdapter) DeleteModelFiles(modelName string) error {
312 nodes, err := a.registry.FindNodesWithModel(context.Background(), modelName)
313 if err != nil || len(nodes) == 0 {
314 xlog.Debug("No nodes with model for file deletion", "model", modelName)
315 return nil
316 }
317
318 for _, node := range nodes {
319 subject := messaging.SubjectNodeModelDelete(node.ID)
320 xlog.Info("Sending NATS model.delete", "nodeID", node.ID, "model", modelName)
321
322 reply, err := messaging.RequestJSON[messaging.ModelDeleteRequest, messaging.ModelDeleteReply](a.nats, subject, messaging.ModelDeleteRequest{ModelName: modelName}, 30*time.Second)
323 if err != nil {
324 xlog.Warn("model.delete failed on node", "node", node.Name, "error", err)
325 continue
326 }
327 if !reply.Success {
328 xlog.Warn("model.delete failed on node", "node", node.Name, "error", reply.Error)
329 }
330 }
331 return nil
332}
333
334// StopNode tells a worker node to shut down entirely (deregister + exit).
335func (a *RemoteUnloaderAdapter) StopNode(nodeID string) error {

Callers 2

unloader_test.goFile · 0.80
DeleteModelMethod · 0.80

Calls 3

SubjectNodeModelDeleteFunction · 0.92
RequestJSONFunction · 0.92
FindNodesWithModelMethod · 0.65

Tested by

no test coverage detected