From 68525466f28033b29f47f300bb09d2a401603b83 Mon Sep 17 00:00:00 2001 From: Bruce MacDonald Date: Fri, 14 Feb 2025 16:44:37 -0800 Subject: [PATCH] link hint to ollama.com --- server/routes.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/routes.go b/server/routes.go index 581975b1f..c87dedf2b 100644 --- a/server/routes.go +++ b/server/routes.go @@ -564,7 +564,8 @@ func (s *Server) PullHandler(c *gin.Context) { return } - name := model.ParseName(cmp.Or(req.Model, req.Name)) + reqName := cmp.Or(req.Model, req.Name) + name := model.ParseName(reqName) if !name.IsValid() { c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": errtypes.InvalidModelNameErrMsg}) return @@ -593,9 +594,13 @@ func (s *Server) PullHandler(c *gin.Context) { if err := PullModel(ctx, name.DisplayShortest(), regOpts, fn); err != nil { var e ErrRemoteModelNotFound if errors.As(err, &e) { + hint := fmt.Sprintf("Model %q not found - please check the model name is correct and try again", reqName) + if name.Host == DefaultRegistry { + hint = fmt.Sprintf("Model %q not found - search available models at https://ollama.com/search?q=%s", reqName, reqName) + } ch <- api.ErrorResponse{ Err: err.Error(), - Hint: fmt.Sprintf("Model %q not found - please check the model name is correct and try again", name.DisplayShortest()), + Hint: hint, } } else { ch <- gin.H{"error": err.Error()}