ollama/llama/runner
Jesse Gross 08a832b482 llama: Ensure KV cache is fully defragmented.
Sometimes the KV cache requires defragmentation even without
triggering the threshold heuristic. In this case, decoding
will not being able to find a KV cache slot. This is particularly
difficult for the caller to handle if it happens in between
ubatches. To avoid this, we should immediately trigger a defrag.

In addition, a heavily fragmented cache can require more than
max_moves to defragment. Currently, we stop when we hit the limit
but this can leave a cache that still does not have adequate space
even after defragmentation is triggered. Instead, we should do
multiple batches of processing until everything is complete.

Fixes #7949
2024-12-17 14:01:19 -08:00
..
cache.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00
cache_test.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00
image.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00
image_test.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00
README.md Re-introduce the llama package (#5034) 2024-10-08 08:53:54 -07:00
runner.go llama: Ensure KV cache is fully defragmented. 2024-12-17 14:01:19 -08:00
stop.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00
stop_test.go build: Make target improvements (#7499) 2024-12-10 09:47:19 -08:00

runner

Note: this is a work in progress

A minimial runner for loading a model and running inference via a http web server.

./runner -model <model binary>

Completion

curl -X POST -H "Content-Type: application/json" -d '{"prompt": "hi"}' http://localhost:8080/completion

Embeddings

curl -X POST -H "Content-Type: application/json" -d '{"prompt": "turn me into an embedding"}' http://localhost:8080/embeddings