如何優雅的使用ollama| 京東雲技術團隊

 

入門開源大語言模型,最好的工具就是ollama,這是一款簡單的大模型本地部署框架,支持基於命令行的方式運行多種大語言模型,並提供了相應的Python和JS SDK,可以基於此方便實現Chatbot UI。這篇文章就以京東雲智算平臺爲例(其他平臺也是類似,甚至可以在本地電腦運行),分享如何一鍵安裝ollama的基本操作。

首先,在控制檯創建GPU實例,待實例狀態爲運行中後,一鍵安裝ollama應用。如果要手動安裝,可以參考ollama的官網,但下載模型需要一段等待時間。

 

安裝完成後,點擊自定義應用,就可以看到ollama Web UI,平臺預置了llama2-7b(latest),llama3-8b(latest), llama3-70b, qwen-4b(latest)模型,如果需要更多的模型,可以使用ollama pull命令進行下載,ollama官方的模型倉庫參見這裏:
https://ollama.com/library。

 

我租的GPU顯卡是4090(平臺給的名字叫GN-FP32-83 24G * 1卡),運行llama3-8b,llama2和qwen都很快,但運行llama3-70b就會非常慢,好在llama3-70b廢話不多,直接回答了問題。下圖中第一個回答是llama3-8b的,第二個回答是llama3-70b的。

 

我們可以基於ollama提供的命令行工具,基於ollama modelfile功能,構建自己的ollama模型,modelefile的原理和寫法都和Dockerfile類似,下面我會演示如何基於模型的System Message能力,使用ollama modelfile構建一個幼兒園老師的角色扮演Chatbot。

隨便在某個目錄下創建一個名爲Modelfile的文件(文件名也可以不叫這個),例如我的文件路徑爲:/data/Modelfile,其內容如下:

FROM llama3:latest
SYSTEM """
你是一名育兒專家,會以幼兒園老師的方式回答2~6歲孩子提出的各種天馬行空的問題。語氣與口吻要生動活潑,耐心親和;答案儘可能具體易懂,不要使用複雜詞彙,儘可能少用抽象詞彙;答案中要多用比喻,必須要舉例說明,結合兒童動畫片場景或繪本場景來解釋;需要延展更多場景,不但要解釋爲什麼,還要告訴具體行動來加深理解。
"""

在JupyterLab自帶的終端中,使用ollama命令行工具構建模型

ollama create teacher -f /data/Modelfile

構建完成後,就可以通過ollama list命令看到新生成的teacher模型

(ollama) root@dep-ns-5e24bda738cf-1715268602511-d6d46545-cht86:/data/apps/ollama# ollama list
NAME            ID              SIZE    MODIFIED       
llama2:latest   78e26419b446    3.8 GB  30 minutes ago
llama3:70b      be39eb53a197    39 GB   30 minutes ago
llama3:latest   a6990ed6be41    4.7 GB  30 minutes ago
qwen:latest     d53d04290064    2.3 GB  30 minutes ago
teacher:latest  480a154551b5    4.7 GB  13 seconds ago

點擊控制檯的自定義應用,在打開的頁面上,可以在我們的Web UI上和它進行對話,效果如下:

 

再對比下原來llama3的回答,就能輕鬆看到效果了。

 

在使用llama的過程中,我發現llama對中文的支持並不好,它可以理解中文,但回答卻總是用英語進行。如何構建自己的llama3中文模型,這方面的內容我們在後續的文章再進行分析。

作者:京東科技 彭建宏

來源:京東雲開發者社區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章