Jeffrey Morgan
4a1abfe4fa
fix tests
2023-12-13 14:42:30 -05:00
Patrick Devine
d9e60f634b
add image support to the chat api ( #1490 )
2023-12-12 13:28:58 -08:00
Jeffrey Morgan
0a9d348023
Fix issues with /set template
and /set system
( #1486 )
2023-12-12 14:43:19 -05:00
Patrick Devine
910e9401d0
Multimodal support ( #1216 )
...
---------
Co-authored-by: Matt Apperson <mattapperson@Matts-MacBook-Pro.local>
2023-12-11 13:56:22 -08:00
Jeffrey Morgan
7db5bcf73b
fix go-staticcheck
warning
2023-12-10 11:44:27 -05:00
Jeffrey Morgan
fa2f095bd9
fix model name returned by /api/generate
being different than the model name provided
2023-12-10 11:42:15 -05:00
Jeffrey Morgan
045b855db9
fix error on accumulating final chat response
2023-12-10 11:24:39 -05:00
Jeffrey Morgan
32064a0646
fix empty response when receiving runner error
2023-12-10 10:53:38 -05:00
Jeffrey Morgan
9e1406e4ed
Don't expose model information in /api/generate
2023-12-09 02:05:43 -08:00
Bruce MacDonald
7e9405fd07
fix: encode full previous prompt in context ( #1424 )
2023-12-08 16:53:51 -05:00
Bruce MacDonald
3b0b8930d4
fix: only flush template in chat when current role encountered ( #1426 )
2023-12-08 16:44:24 -05:00
Bruce MacDonald
e3f925fc1b
fix: restore modelfile system in prompt template ( #1425 )
2023-12-08 14:20:19 -05:00
Michael Yang
1f05d77110
Merge pull request #1244 from jmorganca/brucemacd/no-fail-template
...
do not fail on unsupported template variables
2023-12-06 13:23:04 -08:00
Michael Yang
c3ff36088b
Merge pull request #774 from jmorganca/mxyng/server-version
...
add version api and show server version in cli
2023-12-06 13:22:55 -08:00
Bruce MacDonald
47d4e22673
use missingkey in set empty interface when missing
2023-12-05 15:49:05 -08:00
Michael Yang
5d75505ebd
return model configuration in generate
2023-12-05 14:39:02 -08:00
Michael Yang
b9495ea162
load projectors
2023-12-05 14:36:12 -08:00
Michael Yang
409bb9674e
Merge pull request #1308 from jmorganca/mxyng/split-from
...
split from into one or more models
2023-12-05 14:33:03 -08:00
Michael Yang
d3479c07a1
Merge pull request #1250 from jmorganca/mxyng/create-layer
...
refactor layer creation
2023-12-05 14:32:52 -08:00
Bruce MacDonald
195e3d9dbd
chat api endpoint ( #1392 )
2023-12-05 14:57:33 -05:00
Michael Yang
1ebdbd9694
server: add version handler
2023-12-05 09:36:01 -08:00
Jeffrey Morgan
00d06619a1
Revert "chat api ( #991 )" while context variable is fixed
...
This reverts commit 7a0899d62d
.
2023-12-04 21:16:27 -08:00
Michael Yang
a3737cbd33
use NewLayer for CreateBlobHandler
2023-12-04 16:59:23 -08:00
Michael Yang
998f1785b6
add modelfamilies
2023-12-04 16:59:23 -08:00
Michael Yang
70a93057cd
refactor layer creation
...
previous layer creation was not ideal because:
1. it required reading the input file multiple times, once to calculate
the sha256 checksum, another to write it to disk, and potentially one
more to decode the underlying gguf
2. used io.ReadSeeker which is prone to user error. if the file isn't
reset correctly or in the right place, it could end up reading an
empty file
there are also some brittleness when reading existing layers else
writing the inherited layers will error reading an already closed file
this commit aims to fix these issues by restructuring layer creation.
1. it will now write the layer to a temporary file as well as the hash
function and move it to the final location on Commit
2. layers are read once once when copied to the destination. exception
is raw model files which still requires a second read to decode the
model metadata
2023-12-04 16:59:23 -08:00
Michael Yang
2cb0fa7d40
split from into one or more models
2023-12-04 16:59:23 -08:00
Bruce MacDonald
7a0899d62d
chat api ( #991 )
...
- update chat docs
- add messages chat endpoint
- remove deprecated context and template generate parameters from docs
- context and template are still supported for the time being and will continue to work as expected
- add partial response to chat history
2023-12-04 18:01:06 -05:00
Joshua Pham
bb80a597db
Fix adapter loading from SHA hash
2023-12-01 13:50:55 -05:00
Michael Yang
13efd5f218
upload: fix PUT retry
2023-11-29 16:38:35 -08:00
Michael Yang
c4bdfffd96
upload: separate progress tracking
2023-11-29 16:38:33 -08:00
Michael Yang
26c63418e0
new hasher
2023-11-29 14:52:41 -08:00
Michael Yang
2799784ac8
revert checksum calculation to calculate-as-you-go
2023-11-29 13:47:58 -08:00
Bruce MacDonald
96122b7271
validate model tags on copy ( #1323 )
2023-11-29 15:54:29 -05:00
Timothy Jaeryang Baek
c2e3b89176
fix: disable ':' in tag names ( #1280 )
...
Co-authored-by: rootedbox
2023-11-29 13:33:45 -05:00
Patrick Devine
cde31cb220
Allow setting parameters in the REPL ( #1294 )
2023-11-29 09:56:42 -08:00
Bruce MacDonald
37d95157df
fix relative path on create ( #1222 )
2023-11-21 15:43:17 -05:00
Jeffrey Morgan
35c4b5ec16
calculate hash separately from http request
2023-11-20 15:45:11 -05:00
Jeffrey Morgan
9d73d3a6b5
add back part.Reset()
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
72cd336410
dont retry on upload complete context cancel
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
1bd594b2fa
revert to using one open file for blob uploads
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
9a8c21ac3d
use exponential everywhere
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
f6b317e8c9
fix sending too little data in chunk upload body
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
ac5076ce1e
exponential backoff up to 30s
2023-11-19 14:32:19 -05:00
Michael Yang
42c2e3a624
upload: retry complete upload
2023-11-19 14:32:19 -05:00
Michael Yang
cb42589792
adjust download/upload parts
2023-11-19 14:32:19 -05:00
Jeffrey Morgan
e1d7056496
update progress statuses
2023-11-19 09:21:13 -05:00
Jeffrey Morgan
02524a56ff
check retry for authorization error
2023-11-19 00:19:53 -05:00
Jeffrey Morgan
12e046f12a
remove unused function
2023-11-18 22:16:51 -05:00
Bruce MacDonald
43a726149d
fix potentially inaccurate error message
2023-11-18 21:25:07 -05:00
Jeffrey Morgan
bab9494176
add -
separator to temp file created on ollama create
2023-11-18 09:39:52 -05:00
Michael Yang
c6e6c8ee7e
fix cross device rename
2023-11-17 15:22:17 -08:00
Michael Yang
c1bbf5ddee
Merge pull request #1134 from jmorganca/mxyng/progress
...
progress bar
2023-11-17 14:03:35 -08:00
Bruce MacDonald
0b19e24d81
only retry once on auth failure ( #1175 )
2023-11-17 14:22:35 -05:00
Michael Yang
d6ecaa2cbf
update progress responses
2023-11-17 10:06:19 -08:00
Bruce MacDonald
4b3f4bc7d9
return failure details when unauthorized to push ( #1131 )
...
Co-authored-by: Jeffrey Morgan <jmorganca@gmail.com>
2023-11-16 16:44:18 -05:00
Michael Yang
a5ccf742c1
fix cross repo mounts
2023-11-16 16:33:30 -05:00
Michael Yang
e33ef391cd
fix push scope error for inherited model
2023-11-16 16:33:30 -05:00
Michael Yang
54f92f01cb
update docs
2023-11-15 15:28:15 -08:00
Michael Yang
652d90e1c7
Update server/images.go
...
Co-authored-by: Bruce MacDonald <brucewmacdonald@gmail.com>
2023-11-15 15:16:23 -08:00
Michael Yang
bc22d5a38b
no blob response
2023-11-15 15:16:23 -08:00
Michael Yang
1901044b07
use checksum reference
2023-11-15 15:16:23 -08:00
Michael Yang
a07c935d34
ignore non blobs
2023-11-15 15:16:23 -08:00
Michael Yang
1552cee59f
client create modelfile
2023-11-15 15:16:23 -08:00
Michael Yang
3ca56b5ada
add create modelfile field
2023-11-15 15:16:23 -08:00
Michael Yang
b0d14ed51c
refactor create model
2023-11-15 15:16:23 -08:00
Michael Yang
d91c103e74
Merge pull request #1055 from dansreis/946-fix-incorrect-base-model-name
...
Fixed incorrect base model name
2023-11-13 08:42:55 -08:00
Daniel Reis
7c438f2c53
Replaced method
2023-11-10 20:22:03 +00:00
Daniel Reis
6e46338d44
Reverting previous changes
2023-11-10 20:21:35 +00:00
Daniel Hiltgen
cc54a416c6
Resume chunk download on UnexpectedEOF errors
...
If the chunk download is interrupted, resume from where we left off
2023-11-10 08:29:42 -08:00
Jeffrey Morgan
5cba29b9d6
JSON mode: add `"format" as an api parameter ( #1051 )
...
* add `"format": "json"` as an API parameter
---------
Co-authored-by: Bruce MacDonald <brucewmacdonald@gmail.com>
2023-11-09 16:44:02 -08:00
Daniel Reis
d17730356a
Removed inline parse model path
2023-11-09 22:44:26 +00:00
Daniel Reis
32d79a6eea
Using 'GetShortTagname' method instead
2023-11-09 22:40:37 +00:00
Bruce MacDonald
ec2a31e9b3
support raw generation requests ( #952 )
...
- add the optional `raw` generate request parameter to bypass prompt formatting and response context
-add raw request to docs
2023-11-08 14:05:02 -08:00
Michael Yang
146072113d
Merge pull request #993 from jmorganca/mxyng/cleanup
...
cleanup upload and download errors
2023-11-06 11:32:12 -08:00
Jeffrey Morgan
e21579a0f1
Restore system prompt on requests
2023-11-03 17:26:45 -07:00
Michael Yang
434a6f9d46
return last error
2023-11-03 16:49:51 -07:00
Michael Yang
84725ec7e3
refactor part reset
2023-11-03 09:20:32 -07:00
Noah Gitsham
8ae8c9fa8c
Remove duplicate "install" in GPU support warning ( #984 )
2023-11-03 00:45:14 -07:00
Noah Gitsham
f39daff461
Add missing "be" to GPU support warning message ( #983 )
2023-11-02 18:37:12 -07:00
Jeffrey Morgan
c50b01bc21
check request.Context
for initial system prompt
2023-11-02 18:17:00 -07:00
Bruce MacDonald
b9dc875401
remove modelfile context deprecated in v0.0.7 ( #974 )
2023-11-02 20:52:56 -04:00
Michael Yang
1fd511e661
Merge pull request #975 from jmorganca/mxyng/downloads
...
update downloads to use retry wrapper
2023-11-02 16:12:48 -07:00
Jeffrey Morgan
1beb5645a9
only use system prompt if context is not provided ( #978 )
2023-11-02 15:48:02 -07:00
Michael Yang
fe5a872444
fix upload
2023-11-02 13:25:58 -07:00
Michael Yang
d39709260f
download with retry
2023-11-02 13:16:11 -07:00
Michael Yang
60bb3c03a1
use http.Method
2023-11-02 13:12:45 -07:00
Michael Yang
c4cc738cbf
fix log
2023-11-01 17:18:11 -07:00
Michael Yang
2c6189f4fe
Merge pull request #750 from jmorganca/mxyng/concurrent-uploads
...
concurrent uploads
2023-11-01 15:00:01 -07:00
Bruce MacDonald
f9a4281124
clean up: remove server functions from client ( #937 )
2023-10-30 11:10:18 -04:00
Michael Yang
115fc56eb7
calculate and verify md5 checksum
2023-10-27 17:07:33 -07:00
Michael Yang
186f685224
retry PUT
2023-10-27 17:07:33 -07:00
Michael Yang
12efcbb057
comments
2023-10-27 17:07:33 -07:00
Michael Yang
4e09aab8b9
concurrent uploads
2023-10-27 17:07:33 -07:00
Bruce MacDonald
5c3491f425
allow for a configurable ollama model storage directory ( #897 )
...
* allow for a configurable ollama models directory
- set OLLAMA_MODELS in the environment that ollama is running in to change where model files are stored
- update docs
Co-Authored-By: Jeffrey Morgan <jmorganca@gmail.com>
Co-Authored-By: Jay Nakrani <dhananjaynakrani@gmail.com>
Co-Authored-By: Akhil Acharya <akhilcacharya@gmail.com>
Co-Authored-By: Sasha Devol <sasha.devol@protonmail.com>
2023-10-27 10:19:59 -04:00
Michael Yang
910816a532
fix(download): no retry when out of space
2023-10-26 11:34:07 -07:00
Michael Yang
386169205c
update runtime options ( #864 )
2023-10-20 21:17:14 -04:00
Michael Yang
75bee074b6
fix: nil pointer dereference
2023-10-20 16:55:24 -07:00
Jeffrey Morgan
7ed5a39bc7
simpler check for model loading compatibility errors
2023-10-19 14:50:49 -04:00
Michael Yang
846f593dbf
Merge pull request #828 from jmorganca/mxyng/template-parameters
...
image: show parameters
2023-10-19 09:31:31 -07:00
Michael Yang
e1c5be24e7
check json eof
2023-10-19 09:21:51 -07:00
Michael Yang
2ad8a074ac
generate: set created_at
...
move the empty response so it's more visible
2023-10-19 09:21:51 -07:00
Michael Yang
7e547c6833
s/message/error/
2023-10-19 09:21:04 -07:00
Michael Yang
689842b9ff
request: bad request when model missing fields
2023-10-19 09:21:04 -07:00
Michael Yang
a19d47642e
models: rm workDir from CreateModel
...
unused after removing EMBED
2023-10-19 09:21:04 -07:00
Bruce MacDonald
fe6f3b48f7
do not reload the running llm when runtime params change ( #840 )
...
- only reload the running llm if the model has changed, or the options for loading the running model have changed
- rename loaded llm to runner to differentiate from loaded model image
- remove logic which keeps the first system prompt in the generation context
2023-10-19 10:39:58 -04:00
Michael Yang
4dcceeffb7
let the template do the work
2023-10-18 13:12:00 -07:00
Michael Yang
019e4a4558
image: show parameters
2023-10-18 13:12:00 -07:00
Michael Yang
627d04d927
Merge pull request #827 from jmorganca/mxyng/template-adapters
...
model: native gotemplate adapter template
2023-10-18 13:11:25 -07:00
Michael Yang
940e8ebec3
Merge pull request #826 from jmorganca/mxyng/template-system
...
show: no template system if empty
2023-10-18 13:11:09 -07:00
Yiorgis Gozadinos
8c6c2cbc8c
When the .ollama folder is broken or there are no models return an empty list on /api/tags
2023-10-18 08:23:20 +02:00
Michael Yang
8299bf76ed
model: native gotemplate adapter template
2023-10-17 15:28:38 -07:00
Michael Yang
ee4979e510
show: no template system if empty
2023-10-17 15:25:43 -07:00
Michael Yang
1af493c5a0
server: print version on start
2023-10-16 09:59:14 -07:00
Bruce MacDonald
a0c3e989de
deprecate modelfile embed command ( #759 )
2023-10-16 11:07:37 -04:00
Michael Yang
7a537cdca9
Merge pull request #770 from jmorganca/mxyng/fix-download
...
fix download
2023-10-12 12:56:43 -07:00
Michael Yang
257ffeb997
fix download
2023-10-12 12:52:43 -07:00
Bruce MacDonald
7804b8fab9
validate api options fields from map ( #711 )
2023-10-12 11:18:11 -04:00
Michael Yang
c413a55093
download: handle inner errors
2023-10-11 14:15:30 -07:00
Michael Yang
630bb75d2a
dynamically size download parts based on file size
2023-10-11 14:10:25 -07:00
Michael Yang
a2055a1e93
update download
2023-10-11 14:10:25 -07:00
Bruce MacDonald
274d5a5fdf
optional parameter to not stream response ( #639 )
...
* update streaming request accept header
* add optional stream param to request bodies
2023-10-11 12:54:27 -04:00
Jeffrey Morgan
65dcd0ce35
always cleanup blob download ( #747 )
2023-10-10 13:12:29 -04:00
Michael Yang
f6e98334e4
handle upstream proxies
2023-10-09 11:42:36 -07:00
Bruce MacDonald
af4cf55884
not found error before pulling model ( #718 )
2023-10-06 16:06:20 -04:00
Bruce MacDonald
d6786f2945
add feedback for reading model metadata ( #722 )
2023-10-06 16:05:32 -04:00
Michael Yang
0560b28a8d
names
2023-10-06 12:56:56 -07:00
Michael Yang
10199c5987
replace done channel with file check
2023-10-06 12:56:56 -07:00
Michael Yang
288814d3e4
fix ref counts
2023-10-06 12:56:43 -07:00
Michael Yang
04733438da
check head request response
2023-10-06 12:56:43 -07:00
Michael Yang
711e891f0f
fix resumable downloads
...
glob returns files in lexical order which is not appropriate when
rebuilding the parts list
2023-10-06 12:56:43 -07:00
Michael Yang
090d08422b
handle unexpected eofs
2023-10-06 12:56:43 -07:00
Michael Yang
5b84404c64
handle concurrent requests for the same blobs
2023-10-06 12:56:43 -07:00
Michael Yang
8544edca21
parallel chunked downloads
2023-10-06 12:56:43 -07:00
Bruce MacDonald
2130c0708b
output type parsed from modelfile ( #678 )
2023-10-05 14:58:04 -04:00
Jay Nakrani
1d0ebe67e8
Document response stream chunk delimiter. ( #632 )
...
Document response stream chunk delimiter.
2023-09-29 21:45:52 -07:00
Bruce MacDonald
a1b2d95f96
remove unused push/pull params ( #650 )
2023-09-29 17:27:19 -04:00
Michael Yang
9333b0cc82
Merge pull request #612 from jmorganca/mxyng/prune-empty-directories
...
prune empty directories
2023-09-29 11:23:39 -07:00
Michael Yang
f40b3de758
use int64 consistently
2023-09-28 11:07:24 -07:00
Michael Yang
8608eb4760
prune empty directories
2023-09-27 10:58:09 -07:00
Jeffrey Morgan
9b12a511ca
check other request fields before load short circuit in /api/generate
2023-09-22 23:50:55 -04:00
Bruce MacDonald
5d71bda478
close llm on interrupt ( #577 )
2023-09-22 19:41:52 +01:00
Michael Yang
82f5b66c01
register HEAD /api/tags
2023-09-21 16:38:03 -07:00
Michael Yang
c986694367
fix HEAD / request
...
HEAD request should respond like their GET counterparts except without a
response body.
2023-09-21 16:35:58 -07:00
Bruce MacDonald
4cba75efc5
remove tmp directories created by previous servers ( #559 )
...
* remove tmp directories created by previous servers
* clean up on server stop
* Update routes.go
* Update server/routes.go
Co-authored-by: Jeffrey Morgan <jmorganca@gmail.com>
* create top-level temp ollama dir
* check file exists before creating
---------
Co-authored-by: Jeffrey Morgan <jmorganca@gmail.com>
Co-authored-by: Michael Yang <mxyng@pm.me>
2023-09-21 20:38:49 +01:00
Michael Yang
1fabba474b
refactor default allow origins
...
this should be less error prone
2023-09-21 09:42:25 -07:00
Michael Yang
ee4fd16f2c
Merge pull request #556 from jmorganca/pack-cuda
...
pack in cuda libs
2023-09-20 15:02:36 -07:00
Bruce MacDonald
1255bc9b45
only package 11.8 runner
2023-09-20 20:00:41 +01:00
Michael Yang
499e9007a5
pick chunksize based on location
2023-09-20 11:10:24 -07:00
Michael Yang
aa45d7c1df
draft: explicitly follow upload redirects
2023-09-19 13:36:58 -07:00
Michael Yang
a5520bfb42
fix build
2023-09-19 10:42:24 -07:00