From ef69e2aed5a83083dc630d2dd46dbdd873bb9f53 Mon Sep 17 00:00:00 2001 From: fuyaozong Date: Wed, 12 Nov 2025 18:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E5=90=84=E4=B8=AA=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=98=AF=E5=90=A6=E5=8F=AF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=92=8C=E6=8E=A5=E5=8F=A3/api/v1/initializa?= =?UTF-8?q?tion/ollama/models/check=E7=9A=84=E9=80=BB=E8=BE=91=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=EF=BC=9A=E5=AF=B9=E4=BA=8E=E6=B2=A1=E6=9C=89=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E7=89=88=E6=9C=AC=E7=9A=84=E6=A8=A1=E5=9E=8B=EF=BC=8C?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=B7=BB=E5=8A=A0":latest"=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E8=AF=AF=E5=88=A4=E5=AF=BC=E8=87=B4=E5=8F=8D=E5=A4=8D?= =?UTF-8?q?=E8=B0=83=E7=94=A8pull=E6=A8=A1=E5=9E=8B=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/initialization.go | 6 +----- internal/models/utils/ollama/ollama.go | 7 ++++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/handler/initialization.go b/internal/handler/initialization.go index 083676b9..1904dfc7 100644 --- a/internal/handler/initialization.go +++ b/internal/handler/initialization.go @@ -556,11 +556,7 @@ func (h *InitializationHandler) CheckOllamaModels(c *gin.Context) { // 检查每个模型是否存在 for _, modelName := range req.Models { - checkModelName := modelName - if !strings.Contains(modelName, ":") { - checkModelName = modelName + ":latest" - } - available, err := h.ollamaService.IsModelAvailable(ctx, checkModelName) + available, err := h.ollamaService.IsModelAvailable(ctx, modelName) if err != nil { logger.ErrorWithFields(ctx, err, map[string]interface{}{ "model_name": modelName, diff --git a/internal/models/utils/ollama/ollama.go b/internal/models/utils/ollama/ollama.go index 76b88ced..bce1e299 100644 --- a/internal/models/utils/ollama/ollama.go +++ b/internal/models/utils/ollama/ollama.go @@ -107,9 +107,14 @@ func (s *OllamaService) IsModelAvailable(ctx context.Context, modelName string) return false, fmt.Errorf("failed to get model list: %w", err) } + // If no version is specified for the model, add ":latest" by default + checkModelName := modelName + if !strings.Contains(modelName, ":") { + checkModelName = modelName + ":latest" + } // Check if model is in the list for _, model := range listResp.Models { - if model.Name == modelName { + if model.Name == checkModelName { return true, nil } }