diff --git a/backend/internal/model/repo/model.go b/backend/internal/model/repo/model.go index 9e81f53f..4f6cc5a0 100644 --- a/backend/internal/model/repo/model.go +++ b/backend/internal/model/repo/model.go @@ -184,7 +184,6 @@ func (r *ModelRepo) GetTokenUsage(ctx context.Context, modelType consts.ModelTyp OrderBy("date") }). Scan(ctx, &dailyUsages) - if err != nil { return nil, err } diff --git a/backend/internal/proxy/proxy.go b/backend/internal/proxy/proxy.go index bb1f0fed..9daa325a 100644 --- a/backend/internal/proxy/proxy.go +++ b/backend/internal/proxy/proxy.go @@ -19,6 +19,7 @@ import ( "github.com/chaitin/MonkeyCode/backend/internal/middleware" "github.com/chaitin/MonkeyCode/backend/pkg/logger" "github.com/chaitin/MonkeyCode/backend/pkg/tee" + "github.com/chaitin/MonkeyCode/backend/pkg/tools" ) type CtxKey struct{} @@ -114,7 +115,7 @@ func (l *LLMProxy) rewrite(r *httputil.ProxyRequest) { } metadata := make(map[string]string) - if m.Provider == consts.ModelProviderZhiPu { + if tools.CheckProvider(r.In.Context(), m.Provider, m.ModelName) == consts.ModelProviderZhiPu { body, err := io.ReadAll(r.In.Body) if err != nil { l.logger.ErrorContext(r.In.Context(), "read request body failed", slog.String("path", r.In.URL.Path), slog.Any("err", err)) diff --git a/backend/pkg/tools/provider_checker.go b/backend/pkg/tools/provider_checker.go new file mode 100644 index 00000000..fc3d69d7 --- /dev/null +++ b/backend/pkg/tools/provider_checker.go @@ -0,0 +1,16 @@ +package tools + +import ( + "context" + "strings" + + "github.com/chaitin/MonkeyCode/backend/consts" +) + +// CheckProvider 根据 model 的前缀来判断 provider +func CheckProvider(ctx context.Context, provider consts.ModelProvider, modelName string) consts.ModelProvider { + if strings.HasPrefix(modelName, "glm") { + provider = consts.ModelProviderZhiPu + } + return provider +}