Commit Graph

823 Commits

Author SHA1 Message Date
b58d5d16b0 fix mkdir on windows 2023-09-19 09:41:13 -07:00
24580df958 only add a layer if there is actual data (#535) 2023-09-18 13:47:45 -07:00
80dd44e80a Cmd changes (#541) 2023-09-18 12:26:56 -07:00
08d7c2a944 fix error on upload chunk 2023-09-15 15:59:30 -07:00
e53bc57d4d split uploadBlobChunked 2023-09-14 17:22:05 -07:00
f0b398d17f implement ProgressWriter 2023-09-14 17:22:04 -07:00
daa4f096f9 set request.ContentLength
This informs the HTTP client the content length is known and disables
chunked Transfer-Encoding
2023-09-14 13:32:44 -07:00
e6881cabd0 remove unused 2023-09-13 14:48:33 -07:00
0c5a454361 fix model type for 70b 2023-09-12 15:12:59 -07:00
7dee25a07f fix falcon decode
get model and file type from bin file
2023-09-12 12:34:53 -07:00
f221637053 first pass at linux gpu support (#454)
* linux gpu support
* handle multiple gpus
* add cuda docker image (#488)
---------

Co-authored-by: Michael Yang <mxyng@pm.me>
2023-09-12 11:04:35 -04:00
45ac07cd02 create the blobs directory correctly (#508) 2023-09-11 14:54:52 -07:00
e7e91cd71c add autoprune to remove unused layers (#491) 2023-09-11 11:46:35 -07:00
3920e15386 add model format to config layer (#497) 2023-09-09 17:53:44 -04:00
de227b620f fix nil pointer dereference 2023-09-07 17:24:31 -07:00
738fe9c4aa Merge pull request #486 from jmorganca/mxyng/fix-push
fix: retry push on expired token
2023-09-07 13:58:34 -07:00
bf146fb072 fix retry on unauthorized chunk 2023-09-07 12:02:04 -07:00
f0f4943577 fix get auth token 2023-09-07 12:01:56 -07:00
09dd2aeff9 GGUF support (#441) 2023-09-07 13:55:37 -04:00
83c6be1666 fix model manifests (#477) 2023-09-06 17:30:08 -04:00
790d24eb7b add show command (#474) 2023-09-06 11:04:17 -07:00
a1ecdd36d5 create manifests directory 2023-09-05 17:10:40 -07:00
d1c2558f7e Merge pull request #461 from jmorganca/mxyng/fix-inherit-params
fix inherit params
2023-09-05 12:30:23 -07:00
06ef90c051 fix parameter inheritence
parameters are not inherited because they are processed differently from
other layer. fix this by explicitly merging the inherited params into
the new params. parameter values defined in the new modelfile will
override those defined in the inherited modelfile. array lists are
replaced instead of appended
2023-09-05 11:40:20 -07:00
e9f6df7dca use slices.DeleteFunc 2023-09-05 09:56:59 -07:00
681f3c4c42 fix num_keep 2023-09-03 17:47:49 -04:00
62d29b2157 do not HTML-escape prompt
The `html/template` package automatically HTML-escapes interpolated strings in templates. This behavior is undesirable because it causes prompts like `<h1>hello` to be escaped to `&lt;h1&gt;hello` before being passed to the LLM.

The included test case passes, but before the code change, it failed:

```
--- FAIL: TestModelPrompt
    images_test.go:21: got "a&lt;h1&gt;b", want "a<h1>b"
```
2023-09-01 17:16:38 -05:00
1c8fd627ad windows: fix create modelfile 2023-08-31 09:47:10 -04:00
ae950b00f1 windows: fix delete 2023-08-31 09:47:10 -04:00
eeb40a672c fix list models for windows 2023-08-31 09:47:10 -04:00
0f541a0367 s/ListResponseModel/ModelResponse/ 2023-08-31 09:47:10 -04:00
42998d797d subprocess llama.cpp server (#401)
* remove c code
* pack llama.cpp
* use request context for llama_cpp
* let llama_cpp decide the number of threads to use
* stop llama runner when app stops
* remove sample count and duration metrics
* use go generate to get libraries
* tmp dir for running llm
2023-08-30 16:35:03 -04:00
f4432e1dba treat stop as stop sequences, not exact tokens (#442)
The `stop` option to the generate API is a list of sequences that should cause generation to stop. Although these are commonly called "stop tokens", they do not necessarily correspond to LLM tokens (per the LLM's tokenizer). For example, if the caller sends a generate request with `"stop":["\n"]`, then generation should stop on any token containing `\n` (and trim `\n` from the output), not just if the token exactly matches `\n`. If `stop` were interpreted strictly as LLM tokens, then it would require callers of the generate API to know the LLM's tokenizer and enumerate many tokens in the `stop` list.

Fixes https://github.com/jmorganca/ollama/issues/295.
2023-08-30 11:53:42 -04:00
982c535428 Merge pull request #428 from jmorganca/mxyng/upload-chunks
update upload chunks
2023-08-30 07:47:17 -07:00
8bbff2df98 add model IDs (#439) 2023-08-28 20:50:24 -07:00
16b06699fd remove unused parameter 2023-08-28 18:35:18 -04:00
246dc65417 loosen http status code checks 2023-08-28 18:34:53 -04:00
865fceb73c chunked pipe 2023-08-28 18:34:53 -04:00
72266c7684 bump chunk size to 95MB 2023-08-28 18:34:53 -04:00
59734ca24d set default template 2023-08-26 12:20:48 -07:00
32d1a00017 remove unused requestContextKey 2023-08-22 10:49:54 -07:00
04e2128273 move upload funcs to upload.go 2023-08-22 10:49:53 -07:00
2cc634689b use url.URL 2023-08-22 10:49:07 -07:00
95187d7e1e build release mode 2023-08-22 09:52:43 -07:00
9ec7e37534 Merge pull request #392 from jmorganca/mxyng/version
add version
2023-08-22 09:50:25 -07:00
2c7f956b38 add version 2023-08-22 09:40:58 -07:00
a9f6c56652 fix FROM instruction erroring when referring to a file 2023-08-22 09:39:42 -07:00
0a892419ad Strip protocol from model path (#377) 2023-08-21 21:56:56 -07:00
3b49315f97 retry on unauthorized chunk push
The token printed for authorized requests has a lifetime of 1h. If an
upload exceeds 1h, a chunk push will fail since the token is created on
a "start upload" request.

This replaces the Pipe with SectionReader which is simpler and
implements Seek, a requirement for makeRequestWithRetry. This is
slightly worse than using a Pipe since the progress update is directly
tied to the chunk size instead of controlled separately.
2023-08-18 11:23:47 -07:00
7eda70f23b copy metadata from source 2023-08-17 21:55:25 -07:00