在游戏本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))