修改Ollama預設的上下文長度(ContextLength)
很多人不知道的事情是,Ollama預設載入模型進行問答時,預設的Context長度是2K
(2048),只要輸入稍微長一點的文章立刻就爆炸了,本篇就是教導你如何透過Modelfile來修正這個問題,畢竟舉例來說,2024年07月發表的llama3.1
支援的上下文長度就已經高達128K
。
透過Docker建立ollama container
docker run -d -p 11434:11434 -e OLLAMA_KEEP_ALIVE=-1 -v E:\DockerSharedFolder:/shared --gpus=all --name ollama ollama/ollama
製作Modelfile
這裡ollama container已經透過Bind Mounts方法,在裡面掛載一個名為shared
目錄,目錄裡面將存在這個Modelfile內容,檔案名稱為ModelfileForContext32K
,可以在Windows系統下編輯該檔案:
# 重設上下文長度至32K
FROM llama3.1
PARAMETER num_ctx 32768
製作LLAMA3.1:8b模型
ollama create llama3.1 -f /shared/ModelfileForContext32K
接著ollama就會自動下載關於llama3.1模型必要的檔案後,依照Modelfile的指示製造成上下文32K的模型。完成後,可以輸入下列指令確認:
~ ollama show llama3.1
Model
architecture llama
parameters 8.0B
context length 131072
embedding length 4096
quantization Q4_K_M
Parameters
num_ctx 32768
stop "<|start_header_id|>"
stop "<|end_header_id|>"
stop "<|eot_id|>"
License
LLAMA 3.1 COMMUNITY LICENSE AGREEMENT
Llama 3.1 Version Release Date: July 23, 2024
從上面的輸出結果,我們可以看到Parameters - num_ctx
參數,已經被指定成32768
嘍。