对对本文环境搭建均基于免费工具,感谢开源。

一、下载工具并安装

1. Ollama:最新版本 0.5.7

官网在这里 

https://ollama.com/download

但是下载太慢,得换个思路

https://sourceforge.net/projects/ollama.mirror/

2.Chatbox

https://chatboxai.app/zh

二、安装配置Ollama

安装一路next,默认是装到C盘

(1)调整模型默认存放路径

如果C盘空间吃紧,需要新建环境变量OLLAMA_MODELS

windows下更改模型默认下载路径:

默认路径在C:Users<username>.ollama/models

模型一般占用都比较大,换到其他盘去

高级系统设置-环境变量-新建OLLAMA_MODELS,重启Ollama生效。

注:已经下载的模型文件直接搬到新的路径下就可以使用,不需要再下载。

文件在models/blobs中

(2)下载DeepSeek模型

deepseek-r1

根据自己的硬件设备在Ollama主页选择不同的版本下载

我的是t490s的本子,没有独显,试了下14b勉强可以跑。

ollama pull deepseek-r1:14b

(3)修改环境变量

配置环境变量 OLLAMA_HOST、OLLAMA_ORIGINS

默认情况下,Ollama服务仅在本地运行,不对外提供服务。

如果要提供对外服务,需要新增两个环境变量

--------------------------------

Ollama默认绑定127.0.0.1,不会对外网暴露。

如果自己有独立公网ip或在服务器上跑,那么绑定0.0.0.0会对外网暴露自己服务,这一项设置要慎重!

--------------------------------

保存设置,重启Ollama服务。

小结下Ollama环境变量的作用:

(4)优化配置

1)创建自定义配置文件

创建一个名为Modelfile的文件:

FROM deepseek-coder:14b
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER top_k 40

        a. temperature含义

        temperature(温度)是一个用于控制生成文本随机性的参数,主要应用于基于概率分布的文本生成过程。在模型预测下一个词时,通常会根据每个词的概率分布来进行采样。temperature 会对这个概率分布进行调整。具体来说,模型在生成下一个词时,会为每个可能的词计算一个概率。temperature 通过以下公式对原始概率P()分布进行变换:


        当 temperature 接近 0 时,概率分布会变得更加尖锐,模型更倾向于选择概率最高的词,生成的文本更加确定、保守,通常会生成和训练数据中类似的常见表述。当 temperature 较大时,概率分布会变得更加平坦,原本概率较低的词也有更大的机会被选中,生成的文本更加多样化、富有创意,但也可能会出现更多不连贯或不合理的内容。

      b.temperature数值设定依据
  • 保守生成(低 temperature:如果希望生成的文本准确、连贯,符合常见的语言表达习惯,例如生成新闻稿、技术文档等,通常会选择较低的 temperature 值,如 0.2 - 0.5。这样可以保证模型选择最可能的词,减少错误和不恰当的表述。
  • 创意生成(高 temperature:当需要生成富有创意的内容,如诗歌、故事等,较高的温度值(如 0.7 - 1.0)可以让模型尝试更多不同的词汇组合,产生更具个性和想象力的文本。这里设定为 0.7,是一个相对适中偏高的值,既能保证一定的连贯性,又能在一定程度上增加文本的多样性和创意性。

        c. top_p含义

        top_p(核采样)也称为核概率采样,是一种采样策略,用于限制模型在生成下一个词时的候选词范围。它会根据词的概率对所有可能的词进行排序,然后选择累积概率达到 top_p 的最小词集。模型只会从这个词集中进行采样,而不是从整个词汇表中采样。

        例如,假设 top_p = 0.9,模型会按概率从高到低对所有词进行排序,然后依次累加这些词的概率,直到累加概率超过 0.9 为止,最后从这些满足条件的词中随机选择一个作为下一个生成的词。

        d. top_p数值设定依据
  • 限制多样性(低 top_p:如果设置较低的 top_p 值(如 0.6 - 0.8),会进一步缩小候选词的范围,使得生成的文本更加聚焦,减少生成不常见或不合理词的可能性,适用于对准确性要求较高的场景。
  • 平衡多样性和合理性(适中 top_p:设置为 0.9 是一个比较常见的选择,它在保证生成文本有一定多样性的同时,又能避免选择过于罕见或不合理的词,使得生成的文本既不过于单调,也不会出现过多的错误。

e. top_k含义

        top_k 是另一种采样策略,它会在模型生成下一个词时,只考虑概率最高的 top_k 个词,然后从这 top_k 个词中进行采样。例如,当 top_k = 40 时,模型会选择概率最高的 40 个词,忽略其他词,然后在这 40 个词中随机选择一个作为下一个生成的词。

f.数值设定依据
  • 限制选择范围(低 top_k:较小的 top_k 值(如 10 - 20)会极大地限制候选词的数量,使得生成的文本更加集中在最可能的词上,生成结果更加稳定,但可能会导致文本缺乏多样性。
  • 平衡多样性和稳定性(适中 top_k:设置 top_k = 40 是一个比较适中的选择,它在一定程度上限制了候选词的范围,避免选择概率极低的词,同时又保留了足够多的候选词,使得生成的文本有一定的多样性。这个值在很多文本生成任务中都能取得较好的效果。

        综上所述,temperature = 0.7top_p = 0.9 和 top_k = 40 这组参数的组合旨在在生成文本的多样性和合理性之间取得平衡,既让生成的内容具有一定的创意和变化,又保证文本的连贯性和准确性。

2) 构建优化后的模型

使用自定义配置构建模型:

ollama create deepseek-custom -f Modelfile

3) 设置自定义系统提示

为了获得更好的中文输出效果,可以添加系统提示:

FROM deepseek-custom
SYSTEM "专业的AI助手,请用流畅的中文回答问题。"

三、安装配置Chatbox

1. 一路next,安装完成。

2.配置:

(1)选择“模型”-“Ollama API”-“deepseek-r1:14b”

选择“显示”-“语言”-“简体中文”。

注: 如果“模型”下拉菜单为空,重启Ollama服务,重新打开Chatbox再试一下。

四、本地运行

本地化运行因为硬件比较拉跨,速度有点慢,其他体验完美。

DeepSeek确实对中文的理解更深更细腻,推荐大家使用。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐