# Ollama # 指令 ## 執行本機模型 ``` ollama run <model_name> ``` | 常用模型 | 指令 | 來源 | | -------- | -------- | -------- | | llama2 | ollama run llama2 | -- | | Llama 2 13B | ollama run llama2:13b | -- | | Llama 2 70B | ollama run llama2:70b | -- | | gemma:2b | ollama run gemma:2b | -- | | gemma:7b | ollama run gemma:7b | -- | | Orca Mini | ollama run orca-mini | -- | :::warning b: billion,模型參數的數量。一般而言,越高的參數數量的模型表現越好,但是同時也需要越大量的運算資源及記憶體。 fp16: 參數最高精確度的模型,通常是表現最好的。 q: 量化模型 (quantized models) 透過降低參數數值精準度來縮減模型大小,進而增加運算速度並減少記憶體的需求。一般而言,降低到 q6-q4都還能提供不錯的表現,但實際效果依模型而定。 ::: ## 顯示已下載的模型 ``` ollama list ``` ## 刪除模型 ``` ollama rm <model_name> ``` ## 僅安裝模型(不執行) ``` ollama pull <model_name> ``` ## 複製模型 (用於客製化模型) ``` ollama cp <model_name_1> <model_name_2> ``` ## Python ollama ```python= import asyncio from ollama import AsyncClient import json # 使用非同步事件循環執行聊天 async def main(): client = AsyncClient(host='https://4951-34-28-123-43.ngrok-free.app') response = await client.chat( model='gemma',messages=[{'role': 'user', 'content': '你是誰?' }]) # 處理同步的回應 print('Original_message',response) print('Model',response['model']) print('time',response['created_at']) print('role',response['message']['role']) print('content',response['message']['content']) print('done',response['done']) asyncio.run(main()) ``` ## 導入多種格式的模型 請參考此教學 [從 Hugging Face 導入模型至 OLlama](https://hackmd.io/@H4RF-OwZTV2RIUC-66D55g/S1Gao8_a6) ## 量化大型模型:縮小參數量,讓小電腦也能跑大模型 在 hugging face 上的原始模型動輒都 13 GB 起跳, 在效能較低的電腦中甚至不能跑, 以下是將大型模型量化的教學, 並提供多種量化方式, 以最佳的參數量適應不同的電腦。 大部分 hugging face 上的模型檔都是 .safetensors 檔案格式: ![2024-03-12 15 24 46](https://hackmd.io/_uploads/SJdcmtpT6.png) 如果要使用這種模型檔需要全部都下載下來, 因為其他檔案是其權重檔。 而 Ollama 也不好處理此模型檔, 建議還是轉成 gguf 格式較為方便。 如果要轉成 gguf 格式就需要使用到 **llama.cpp** , 之後的量化也是由它來完成。 ### 安裝 llama.cpp ollama 開發的 llama.cpp 可以用於將 .safetensors 模型檔轉換成 gguf 模型檔, 轉成 gguf 檔有助於直接導入到 OLlama 之中, 並且可以上傳至 hugging face 讓其他人可以輕鬆取得模型檔, 不需要再次將整個模型與其他參數都下載下來。 [前往 github 下載](https://github.com/ggerganov/llama.cpp/releases) windows 下載 avx2.zip (用於轉換成 gguf 檔) 與 Source code.zip (用於量化模型) 如果是 linux 下載 source 即可 ![2024-03-12 15 58 43](https://hackmd.io/_uploads/BkUGnKTa6.png)