default.go 564 B

12345678910111213141516171819202122232425262728
  1. package build
  2. import (
  3. "os"
  4. "path/filepath"
  5. "sync"
  6. )
  7. var (
  8. defaultDir = sync.OnceValues(func() (string, error) {
  9. dir := os.Getenv("OLLAMA_MODELS")
  10. if dir == "" {
  11. home, err := os.UserHomeDir()
  12. if err != nil {
  13. return "", err
  14. }
  15. dir = filepath.Join(home, ".ollama", "models")
  16. }
  17. return dir, nil
  18. })
  19. )
  20. // DefaultDir returns the default directory for models. It returns the value
  21. // of the OLLAMA_MODELS environment variable if set; otherwise it returns
  22. // "$HOME/.ollama/models".
  23. func DefaultDir() (string, error) {
  24. return defaultDir()
  25. }