系统:
window11
ollama
版本: 0.5.6
continue版本
:0.8.66
前言
最近一直在内网开发,没办法连互联网.常用的一些ai
工具, 如deepseep
,cursor
都没办法使用.为了解决这个问题,就需要部署本地离线的ai
服务目前比较流行的方案是通过ollama
在本地运行一个模型,再用vscode
或者idea
的插件去配合使用
那么我们需要安装的只有下面这两个
continue
: 一个vscode
插件,idea也可以使用ollama
: 开源大语言模型服务工具
ollama
安装
官网地址:Ollama
直接去官网下载ollama
,按步骤一键安装就可以了
ollama
安装成功之后,任务栏就会有它的图标
在命令行里面输入ollama
看到这个就说明安装成功了
加载模型
模型地址:Ollama
搜索你需要的模型
这里我用一个最近比较火的deepseek
模型举例, 我这边选用1.5b
的做演示,具体看自己的电脑显卡有多大的显存
ollama run deepseek-r1:1.5b
复制这边的命令到终端,下面就开始下载
前面那个命令安装完成之后会自动运行.这时候已经可以直接进行问答了
查看模型状态
ollama ps
通过查看模型状态,可以看到模型已经成功加载,并且已经100%加载到gpu
里面
continue
安装
这里通过vscode
去安装,如果需要idea
的也可以直接去搜索这个插件,如下图侧边栏点开,写入如下配置
相关配置
这边是我自己用的配置,如果需要也可以去这个插件的官网看对应的文档
{
// 问答用的模型
"models": [
{
"title": "deepseek-r1:1.5b", //标题
"provider": "ollama", // 模型提供商
"model": "deepseek-r1:1.5b", // 模型名
"completionOptions": {}, // 其他选项
"apiBase": "http://localhost:11434" // API 基础 URL
}
],
// 代码补全的模型
"tabAutocompleteModel": {
"title": "Tab Autocomplete", //标题
"provider": "ollama", // 模型提供商
"model": "deepseek-r1:1.5b", // 模型名
"completionOptions": {}, // 其他选项
"apiBase": "http://localhost:11434" // API 基础 URL
},
// 自定义命令
"customCommands": [
{
"name": "test",
"prompt": "{{{input}}}\n\n为所选代码编写一套全面的单元测试。它应当包含设置、运行检查正确性的测试(包括重要的边界情况)以及清理工作。确保测试完整且复杂。仅以聊天输出的形式给出测试内容,不要编辑任何文件。",
"description": "为突出显示的代码编写单元测试e"
}
],
// 可以提供的上下文
"contextProviders": [
{
"name": "code",
"params": {}
},
{
"name": "docs",
"params": {}
},
{
"name": "diff",
"params": {}
},
{
"name": "terminal",
"params": {}
},
{
"name": "problems",
"params": {}
},
{
"name": "folder",
"params": {}
},
{
"name": "codebase",
"params": {}
}
],
// 输入时可以用的快捷命令
"slashCommands": [
{
"name": "share",
"description": "将当前聊天会话导出为 Markdown 格式"
},
{
"name": "cmd",
"description": "生成一个 shell 命令"
},
{
"name": "commit",
"description": "生成一条 Git 提交消息"
}
],
// 默认嵌入模型
"embeddingsProvider": {
"provider": "ollama", // 模型提供商
"model": "deepseek-r1:1.5b", // 模型名
"completionOptions": {}, // 其他选项
"apiBase": "http://localhost:11434" // API 基础 URL
},
// 排序模型
"reranker": {
"name": "free-trial"
}
}
效果
配置完成之后就可以进行正常的问题,和交流.编写代码的时候也可以看到有对应的代码补全
离线部署
导出modelfile文件
首先需要导出对应的模型
这里用ollama可以看到我有两个模型,这边选择导出deepspeek
这个模型
ollama show deepseek-r1:1.5b --modelfile
执行上面的指令之后,会输出这个模型的modefile
文件内容,将其复制,并且保存为xxx.modelfile
文件
获取gguf文件
接下来还需要去获取gguf
文件,这个文件默认是在C:\Users\[用户名称]\.ollama\models\blobs
打开之后这里有几个文件,找大小和前面下载的模型大小相似的文件
我前面下载的deepseek
模型的大小是1g
多,就复制这个.
把他放到前面的modelfile
文件同目录下,重命名为.gguf
的格式
修改modelfile
前面导出的modelfile
文件有一个from
,把它改成你的gguf
模型文件所在位置
所以最好一个模型和自己的modelfile
文件放在同一个文件夹里面比较方便.
导入模型
前面的步骤已经将模型导出了.
在你的离线环境下安装ollama
,直接把ollama
安装文件传进去和前面的步骤已经直接一键安装.
安装完成之后,开始导入模型,
还没有导入的时候,我只有一个模型
ollama create deepseek1.5b -f model.modelfile
执行上面的命令
这样就算成功了
通过ollama list
命令可以看到已经运行导入成功了
运行模型
ollama run deepseek1.5b:latest
通过run
命令将其运行起来,就大功告成了
离线安装continue
去 continue
的github
上面下载对应的visix
文件
这边找一个适合你的系统的vsix
文件
这边直接安装就好了,之后就重复前面的步骤
局域网共享
首先需要配置系统环境变量,使ollama
可以监听所有ip
OLLAMA_HOST
0.0.0.0
olama
服务启动默认的端口是11434
,通过ipconfig
查看自己在局域网里面的ip
地址
将continue
所有的apibase
地址换成你的ip:11434
就可以访问到你本机的ollama
服务了
设置常驻内存
ollama
的模型5分钟没有使用就会自动释放,如果需要让它一直保持存活在内存中,可以通过设置环境变量的方式
OLLAMA_KEEP_ALIVE
-1
将其设置为-1
即可,这个变量设置的是模型多久释放,如果设置为负数就会一直存活
设置并发数
这个变量设置的就是ollama
单个模型最多同时处理多少并发,我这边设置了10个
OLLAMA_NUM_PARALLEL
10
结尾
通过上面的设置之后,不管是内网还是互联网都可以访问本地运行的模型服务.
如果需要深入设置ollama
,可以去ollama
官网的文档