在游戲本6G顯存上本地部署Deepseek,運行一個14B大語言模型,并使用API訪問
- 環境說明
- 環境準備
- 下載lmstudio
- 運行lmstudio
- 下載模型
- 從huggingface.co下載模型
- 配置模型
- 加載模型
- 測試模型
- API
- 啟動API服務
- 代碼測試
deepseek在大語言模型上的進步確實不錯,相比最初的百川在CPU上運行14B模型輸出一次對話要20分鐘,deepseek使用1.5B時,完全可以在CPU上快速輸出內容,性能提升非常顯著,完全滿足個人在筆記本上開發大模型應用的基本要求。雖然deepseek每次對話都要思考一下,使用了較多時間,但在實際輸出內容時,還是比較快速的,在游戲本上至少可以每秒輸出5個token以上。
下面內容是我在自己的游戲本上測試結果,沒有進行任何優化,供大家參考。
環境說明
游戲本:Redmi G
CPU:AMD Ryzen 7 5800H
內存:32G
顯卡:NVIDIA GetForce RTX 3060 Laptop(6G)
存儲:SSD
環境準備
下載lmstudio
下載地址
https://lmstudio.ai/
得到安裝程序,目前是0.3.9版的。
LM-Studio-0.3.9-6-x64.exe
運行安裝程序
運行lmstudio
下載模型
從huggingface.co下載模型
模型下載地址
https://huggingface.co/roleplaiapp/DeepSeek-R1-Distill-Qwen-1.5B-Q4_0-GGUF/blob/main/deepseek-r1-distill-qwen-1.5b-q4_0.gguf
https://huggingface.co/BernTheCreator/DeepSeek-R1-Distill-Qwen-7B-Q4_0-GGUF/blob/main/deepseek-r1-distill-qwen-7b-q4_0.gguf
https://huggingface.co/Triangle104/DeepSeek-R1-Distill-Qwen-14B-uncensored-Q4_K_S-GGUF/blob/main/deepseek-r1-distill-qwen-14b-uncensored-q4_k_s.gguf
將模型保存在本地。目錄規則為models/{user_name}/{model_name}/{model_file_name}
如:
C:\llm\models\jihui\deepseek-r1-distill-qwen-14b-uncensored-q4_k_s\deepseek-r1-distill-qwen-14b-uncensored-q4_k_s.gguf
配置模型
設置完成后,顯示如下:
加載模型
加載完成后,顯示如下:
測試模型
DeepSeek思考57秒后,開始輸出內容。
測試一共輸出了1650個token,每秒5個token,速度還是可以接受的。
輸出內容如下:
<think>
嗯,用戶讓我幫他寫一個穿越到古代的小說,要求是古龍風格,字數2000字左右。首先,我得理解用戶的需求。他可能是個喜歡武俠小說的讀者,或者他自己在嘗試寫作,想要一個靈感或示例。古龍風格的特點是什么呢?古龍的小說通常情節緊湊,人物性格鮮明,語言簡練有力,常常帶有濃厚的江湖氣息和宿命感。所以,在寫這個穿越故事的時候,我需要融入這些元素。接下來,用戶提到2000字左右,這意味著不能太復雜,但要有足夠的沖突和發展。可能是一個短篇或者一個開頭部分,給用戶提供靈感繼續創作。然后,考慮穿越的情節。古龍風格的穿越通常會有神秘感和宿命的感覺。主角可能被卷入某種命運之中,面對生死考驗。比如,可以設計一個場景,讓主角在某個關鍵時刻被選中或被迫行動,帶出他的特殊身份或任務。角色設定方面,主角可能是個普通人,突然穿越到古代,發現自己擁有某種能力或者身世之謎。配角則可能是神秘的導師、盟友或敵人,推動劇情發展。語言風格上,要保持簡潔有力,避免冗長的描述,多用短句和口語化的表達,讓故事節奏感強,符合古龍的快節奏。最后,2000字左右,我需要構建一個吸引人的開頭,設置懸念,同時展示主角的性格和所處環境。這樣用戶可以看到故事的大致框架,并能從中獲得創作靈感。
</think>好的,我將按照您的要求創作一篇古龍風格的穿越小說。為了讓故事更加完整和引人入勝,我會先列出一些基本的情節脈絡。請您看看以下內容是否符合您的預期。### 世界觀設定- **時間設定**:古代江湖,具體朝代背景模糊,主要通過俠客的行俠仗義展現時代特征。- **地點設定**:故事從一個普通市井小巷開始,隨著劇情發展逐步展開到更大的江湖世界。- **基本背景**:這是一個充滿俠義與恩怨的世界,江湖人士遵循著自己的道義準則,同時也面臨著各種危險和挑戰。### 章節概要- **第一章:神秘來客**:一個受傷的白衣男子突然闖入主角所在的酒館,展現出不凡的身手和氣質。他的出現打破了小樓的平靜,也暗示了即將發生的變故。- **第二章:身份之謎**:白衣男子身份成謎,他似乎與主角有著某種宿命關聯。他的到來為整個故事埋下了一個巨大的懸念。- **第三章:命運交織**:在隨后的故事中,主角將被迫卷入一場關乎個人生死和江湖大局的陰謀當中。這一段將重點描寫主角如何面對突如其來的命運轉折,并展現出古龍式作品特有的宿命感。現在讓我們開始講述這個故事的第一部分:---
天色已晚,小樓里只剩下我一個人。我把最后一口酒倒進喉嚨,砸吧砸吧嘴,想著明天該去哪里找活干。這半年來,我在城里做了好幾家人的短工,但都沒能長久。不是嫌我手腳慢,就是說我偷懶耍滑。可我真沒偷過懶啊,那活兒太累人了,實在是干不動。正當我要起身收拾碗筷時,外面突然傳來一陣急促的腳步聲。緊接著,"砰"的一聲,一個人重重地撞在了我的門上。"救人!快救人!"我這才發現是個男人,穿著一身白色的勁裝,衣襟染著血跡。他的臉上有一道猙獰的傷疤,從左眼角一直延伸到下巴,看起來極為嚇人。那雙眼睛卻很亮,像是夜梟的眼睛,在黑暗中閃爍著冷光。"我說救人就救人!"我抄起掃把就要往門后躲,可他一把將門推開,跌跌撞撞地沖了進來。他的動作很快,比我想象的快得多。等我反應過來時,他已經抄起放在墻角的木棍,像跳舞一樣轉了一圈,棍影如同實質,裹挾著勁風直撲我的咽喉。這下可把我嚇壞了,我連滾帶爬地往后躲。棍子擦著我的脖子而過,發出"呼"的一聲。我感覺脖子上火辣辣的,差點沒暈過去。"我說過要救你嗎?"他收住動作,嘴角勾起一抹冷笑,"你是自己找死還是怎么著?"我這才看清楚他的樣貌:三十出頭,身材修長,但整個人透著一股陰郁之氣。那雙眼睛像錐子一樣盯著我,讓我渾身不自在。"我說兄弟,你這是干嗎?"我不由分說地往后退了一步,"有話好好說,別動武啊。"他突然笑了,笑聲低沉沙啞:"好說,我們這就說。不過..."他的眼神變得陰狠起來,"你最好先給我個痛快。"說著,他突然出手,速度快得不可思議。我只看到一道白影閃過,他已經欺身而上,手中不知何時多了一柄短刀。這一下直取我的胸口,來勢洶洶。我不敢硬拼,只好側身閃避。可他的刀法太詭異了,明明是平實的一招,卻讓我感覺像是被毒蛇盯住一般,渾身動彈不得。就在這千鈞一發之際,我看到他的手腕突然僵了一下。這一瞬間的破綻來得快去得也快,但我還是把握住了機會。我一個側身躲過他的刀鋒,反手抄起剛才準備好的掃把,狠狠地砸在了他的小臂上。"砰"的一聲,他悶哼一聲,短刀脫手而飛,插進了墻上的木板里。我這才松了口氣,可心里卻警覺起來:這人武功不弱啊。他沒有再攻擊我,只是靜靜地站在那里,眼神陰沉地看著我。那目光像是要將我活剝了似的。"我說..."我盡量讓自己的聲音聽起來平靜,"你要殺我,我現在已經給你機會了。"他突然開口,聲音低沉:"你知道我是誰嗎?"我沒有說話,只是搖頭。"我是陸寒鋒。"他緩緩道,"江湖人稱'白衣無痕'。"這個名字似乎很耳熟,我不由得打了個寒顫。據我所知,這人的武功在江湖上是數一數二的,而且行事極其隱秘,從不輕易顯露行蹤。"今天..."他的聲音像是從地獄里傳出來的,"我要取你項上人頭。"我不由自主地后退了一步:"為...為什么?"他露出一個令人毛骨悚然的笑容:"因為你活得太長了。"話音未落,他的身形突然消失在原地。下一刻,他已經欺身而上,手中不知何時又多了一柄匕首。我根本來不及思考,本能地抬腿就要往外面跑。可他顯然早有準備,一把握住了我的腳踝。那一瞬間的劇痛讓我幾乎暈厥過去。"你..."我感覺不對勁,想要掙扎,可是渾身就像被抽了骨頭一樣軟綿綿的。---**接下來故事可能會沿著這些方向發展**:- **神秘身份**:陸寒鋒對主角展現出的敵意以及他所知道的關于主角未來的預言,暗示主角擁有某種特殊的身份或使命- **江湖傳言**:白衣無痕這個名號在江湖上的傳聞,將為后續揭示更多的人物背景和故事主線埋下伏筆希望這個開頭能滿足您的要求。如果需要更多細節或調整,請隨時告訴我。
API
啟動API服務
可以使用瀏覽器進行測試。
http://localhost:1234/v1/models
{"data": [{"id": "deepseek-r1-distill-qwen-14b-uncensored","object": "model","owned_by": "organization_owner"},{"id": "deepseek-r1-distill-qwen-7b","object": "model","owned_by": "organization_owner"},{"id": "deepseek-r1-distill-qwen-1.5b","object": "model","owned_by": "organization_owner"},{"id": "text-embedding-nomic-embed-text-v1.5","object": "model","owned_by": "organization_owner"}],"object": "list"
}
代碼測試
from openai import OpenAIopenai_api_key = "EMPTY"
openai_api_base = "http://127.0.0.1:1234/v1"
model_name = "deepseek-r1-distill-qwen-14b-uncensored"client = OpenAI(base_url=openai_api_base,api_key=openai_api_key
)models = client.models.list()print(models)
# SyncPage[Model](data=[Model(id='deepseek-r1-distill-qwen-14b-uncensored', created=None, object='model', owned_by='organization_owner'), Model(id='deepseek-r1-distill-qwen-7b', created=None, object='model', owned_by='organization_owner'), Model(id='deepseek-r1-distill-qwen-1.5b', created=None, object='model', owned_by='organization_owner'), Model(id='text-embedding-nomic-embed-text-v1.5', created=None, object='model', owned_by='organization_owner')], object='list')role = "你是一個古代詩人,擅長用七言絕句回答問題"
query = "形容一下我中了500萬后的心情"chat_completion = client.chat.completions.create(model=model_name,messages=[{"role": "system","content": role},{"role": "user","content": query}]
)print(chat_completion)
輸出結果
C:\anaconda3\envs\Tech\python.exe C:/Code/Tech/llm/text/deepseek/chat_deepseek.py
SyncPage[Model](data=[
Model(id='deepseek-r1-distill-qwen-14b-uncensored', created=None, object='model', owned_by='organization_owner'),
Model(id='deepseek-r1-distill-qwen-7b', created=None, object='model', owned_by='organization_owner'),
Model(id='deepseek-r1-distill-qwen-1.5b', created=None, object='model',owned_by='organization_owner'),
Model(id='text-embedding-nomic-embed-text-v1.5', created=None, object='model', owned_by='organization_owner')
], object='list')
ChatCompletion(id='chatcmpl-r75ede818ybactnrsup7bu', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='<think>\n首先,我需要理解用戶的需求。用戶希望我以一個古代詩人的身份,用七言絕句來描述中了500萬后的感受。
七言絕句是一種傳統的詩歌形式,每首四句,每句七個字,注重平仄和對仗。因此,我需要在有限的字數內表達出豐富的感情。
接下來,我思考用戶的潛在需求。用戶可能不僅僅想要一首詩,而是希望通過詩歌來表達中獎后的復雜心情,可能是喜悅、震驚或者是對未來的思考。
然后,我開始構思詩句的內容。第一句“聞報家中五百萬”,直接傳達了中獎的消息,具有沖擊力。第二句“心飛魄動一瞬間”,形容內心的震撼和激動,讓人感同身受。
第三句“財源滾滾自天降”描繪了財富突然降臨的情景,表現出一種不真實的感覺。最后一句“從此無憂享太平”則表達了對未來生活的美好期望和安心。
在語言風格上,我盡量保持古樸典雅,同時讓詩句通俗易懂,符合七言絕句的特點。這樣的表達既符合古代詩人的身份,又能準確傳達用戶的情感。
最后,我檢查整個詩歌的韻律和平仄是否合適,確保讀起來順暢且富有節奏感。這樣不僅滿足了形式上的要求,也讓內容更加生動有力。\n</think>《七絕·中獎》
聞報家中五百萬,
心飛魄動一瞬間。
財源滾滾自天降,
從此無憂享太平。', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=None))], created=1738722001, model='deepseek-r1-distill-qwen-14b-uncensored', object='chat.completion', service_tier=None, system_fingerprint='deepseek-r1-distill-qwen-14b-uncensored', usage=CompletionUsage(completion_tokens=314, prompt_tokens=27, total_tokens=341, completion_tokens_details=None, prompt_tokens_details=None))