|
@@ -1,7 +1,6 @@
|
|
package server
|
|
package server
|
|
|
|
|
|
import (
|
|
import (
|
|
- "bufio"
|
|
|
|
"bytes"
|
|
"bytes"
|
|
"cmp"
|
|
"cmp"
|
|
"context"
|
|
"context"
|
|
@@ -18,12 +17,10 @@ import (
|
|
"net/url"
|
|
"net/url"
|
|
"os"
|
|
"os"
|
|
"path/filepath"
|
|
"path/filepath"
|
|
- "regexp"
|
|
|
|
"runtime"
|
|
"runtime"
|
|
"slices"
|
|
"slices"
|
|
"strconv"
|
|
"strconv"
|
|
"strings"
|
|
"strings"
|
|
- "sync"
|
|
|
|
|
|
|
|
"github.com/ollama/ollama/api"
|
|
"github.com/ollama/ollama/api"
|
|
"github.com/ollama/ollama/auth"
|
|
"github.com/ollama/ollama/auth"
|
|
@@ -1090,7 +1087,7 @@ func makeRequest(ctx context.Context, method string, requestURL *url.URL, header
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- req.Header.Set("User-Agent", fmt.Sprintf("ollama/%s (%s %s) Go/%s%s", version.Version, runtime.GOARCH, runtime.GOOS, runtime.Version(), deployment()))
|
|
|
|
|
|
+ req.Header.Set("User-Agent", fmt.Sprintf("ollama/%s (%s %s) Go/%s", version.Version, runtime.GOARCH, runtime.GOOS, runtime.Version()))
|
|
|
|
|
|
if s := req.Header.Get("Content-Length"); s != "" {
|
|
if s := req.Header.Get("Content-Length"); s != "" {
|
|
contentLength, err := strconv.ParseInt(s, 10, 64)
|
|
contentLength, err := strconv.ParseInt(s, 10, 64)
|
|
@@ -1165,22 +1162,3 @@ func verifyBlob(digest string) error {
|
|
|
|
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
-
|
|
|
|
-var deployment = sync.OnceValue(func() string {
|
|
|
|
- if runtime.GOOS == "linux" {
|
|
|
|
- file, err := os.Open("/proc/1/cgroup")
|
|
|
|
- if err != nil {
|
|
|
|
- return ""
|
|
|
|
- }
|
|
|
|
- defer file.Close()
|
|
|
|
- anchorPoint := regexp.MustCompile("0::/.*/")
|
|
|
|
- scanner := bufio.NewScanner(file)
|
|
|
|
- for scanner.Scan() {
|
|
|
|
- line := scanner.Text()
|
|
|
|
- if anchorPoint.MatchString(line) {
|
|
|
|
- return " container"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return ""
|
|
|
|
-})
|
|
|