Browse Source

fix: use `envconfig.ModelsDir` directly (#4821)

* Co-authored-by: Anatoli Babenia <anatoli@rainforce.org>

Co-authored-by: Maas Lalani <maas@lalani.dev>
Anatoli Babenia 10 tháng trước cách đây
mục cha
commit
0d16eb310e
2 tập tin đã thay đổi với 5 bổ sung20 xóa
  1. 2 2
      envconfig/config.go
  2. 3 18
      server/modelpath.go

+ 2 - 2
envconfig/config.go

@@ -43,10 +43,10 @@ var (
 	MaxRunners int
 	MaxRunners int
 	// Set via OLLAMA_MAX_QUEUE in the environment
 	// Set via OLLAMA_MAX_QUEUE in the environment
 	MaxQueuedRequests int
 	MaxQueuedRequests int
-	// Set via OLLAMA_MODELS in the environment
-	ModelsDir string
 	// Set via OLLAMA_MAX_VRAM in the environment
 	// Set via OLLAMA_MAX_VRAM in the environment
 	MaxVRAM uint64
 	MaxVRAM uint64
+	// Set via OLLAMA_MODELS in the environment
+	ModelsDir string
 	// Set via OLLAMA_NOHISTORY in the environment
 	// Set via OLLAMA_NOHISTORY in the environment
 	NoHistory bool
 	NoHistory bool
 	// Set via OLLAMA_NOPRUNE in the environment
 	// Set via OLLAMA_NOPRUNE in the environment

+ 3 - 18
server/modelpath.go

@@ -103,18 +103,9 @@ func (mp ModelPath) GetShortTagname() string {
 	return fmt.Sprintf("%s/%s/%s:%s", mp.Registry, mp.Namespace, mp.Repository, mp.Tag)
 	return fmt.Sprintf("%s/%s/%s:%s", mp.Registry, mp.Namespace, mp.Repository, mp.Tag)
 }
 }
 
 
-// modelsDir returns the value of the OLLAMA_MODELS environment variable or the user's home directory if OLLAMA_MODELS is not set.
-// The models directory is where Ollama stores its model files and manifests.
-func modelsDir() (string, error) {
-	return envconfig.ModelsDir, nil
-}
-
 // GetManifestPath returns the path to the manifest file for the given model path, it is up to the caller to create the directory if it does not exist.
 // GetManifestPath returns the path to the manifest file for the given model path, it is up to the caller to create the directory if it does not exist.
 func (mp ModelPath) GetManifestPath() (string, error) {
 func (mp ModelPath) GetManifestPath() (string, error) {
-	dir, err := modelsDir()
-	if err != nil {
-		return "", err
-	}
+	dir := envconfig.ModelsDir
 
 
 	return filepath.Join(dir, "manifests", mp.Registry, mp.Namespace, mp.Repository, mp.Tag), nil
 	return filepath.Join(dir, "manifests", mp.Registry, mp.Namespace, mp.Repository, mp.Tag), nil
 }
 }
@@ -127,10 +118,7 @@ func (mp ModelPath) BaseURL() *url.URL {
 }
 }
 
 
 func GetManifestPath() (string, error) {
 func GetManifestPath() (string, error) {
-	dir, err := modelsDir()
-	if err != nil {
-		return "", err
-	}
+	dir := envconfig.ModelsDir
 
 
 	path := filepath.Join(dir, "manifests")
 	path := filepath.Join(dir, "manifests")
 	if err := os.MkdirAll(path, 0o755); err != nil {
 	if err := os.MkdirAll(path, 0o755); err != nil {
@@ -141,10 +129,7 @@ func GetManifestPath() (string, error) {
 }
 }
 
 
 func GetBlobsPath(digest string) (string, error) {
 func GetBlobsPath(digest string) (string, error) {
-	dir, err := modelsDir()
-	if err != nil {
-		return "", err
-	}
+	dir := envconfig.ModelsDir
 
 
 	// only accept actual sha256 digests
 	// only accept actual sha256 digests
 	pattern := "^sha256[:-][0-9a-fA-F]{64}$"
 	pattern := "^sha256[:-][0-9a-fA-F]{64}$"