[软件工具使用记录] windows离线ollama部署本地模型并配置continue实现离线代码补全
qwen2.5coder发布之后,觉得差不多可以实现离线模型辅助编程了,所以尝试在公司内网部署模型,配合vsocde插件continue实现代码提示、聊天功能。
目前使用qwen2.5coder的32b模型,体验上和gpt-4o差不多(都稀碎),适用于编写脚本,查一些简单问题,例如flask如何把变量传到前端
,准确率还可以,但是补全功能稀碎。
硬件如下:
cpu | gpu | 内存 |
---|---|---|
AMD Ryzen 9 5950X 16核 | AMD Radeon TX 6900XT(需要安装最新驱动)/16G显存直接吃满 | 64G 2600Mhz/实际吃30G内存 |
跑起来不算快,和我阅读速度差不多,对这套硬件来说挺吃力的。GPU没怎么跑,似乎主要是cpu在发力吃到60%占用率
部署ollama
安装ollama客户端 && 选择模型
首先去Download Ollama on Windows下载ollama的windows版本,安装包非常大,基本上700-800M
在有网络的电脑上安装,然后在Ollama这里找到需要的模型,例如这里我选择qwen2.5code的0.5b模型
点击第二个箭头Tags
可以选择不同的量化版本,然后复制第三个箭头的指令
按下Win+R
快捷键,运行cmd
,执行复制的命令,比如这里是ollama run qwen2.5-coder:0.5b
没有魔法的情况下可能会失败,一般情况下多试几次,最差可能需要几十次才能开始下载
找到模型文件及Modelfile内容
搜索pull的时候的哈希字符,可以找到模型位置,一般在C:\Users\Administrator\.ollama\models\blobs
按照时间排序,找到最大的那个文件,就是gguf格式的模型,复制出来,改名为qwen2.5-coder0.5b.gguf
在命令行执行形如ollama show qwen2.5-coder:0.5b --modelfile
的指令,可以得到模型的Modelfile
文件内容,保存为Modelfile
文件
现在有以下两个文件
其中,文件内容是默认提示词模板,可参考模型文件参考 - Ollama 中文文档进行修改,例如可以实现让llama3.3
优先使用中文,这个可以通过在其中加入请优先使用简体中文回复
,这样的字符实现,最好使用翻译软件翻译成英文再放进去(比如插入到第13行)
- 修改第五行的FROM,将模型路径修改为模型的真实路径,例如这里是
./qwen2.5-coder0.5b.gguf
内网部署ollama
- 在没有网络的内网电脑中安装第一步下载的ollama安装包
- 复制上面准备的两个文件到内网
在两个文件所在目录的地址栏输入cmd
,按下回车
命令行中输入ollama create qwen2.5-coder0.5b -f Modelfile
,其中create后面是你自定义的模型名字(推荐和外网保持一样)
这样就导入进来了,接下来的使用和外网一模一样,输入ollama list
命令可以看到导入的模型
默认情况下ollama
会开机启动,如果没有启动,手动执行就行,右下角的托盘图表中应该有它
配置continue
本地使用
Releases · continuedev/continue这里下载到最新的continue插件,复制到内网,在vscode中安装,可参考VS Code 安装 VSIX 插件_.vsix-CSDN博客
现在,就可以使用模型了
局域网共享
如果项目组中只有一台电脑能运行模型,别的性能不够,需要局域网访问ollama,那么可以按照如下方式调整
ollama
默认它的服务监听127.0.0.1:11434
端口,这会导致局域网其他机器访问不到,可以参考Allow listening on all local interfaces · Issue #703 · ollama/ollama实现监听所有端口
简单来说,就是设定环境变量OLLAMA_HOST=0.0.0.0
,windows上也是一样的,如下
然后重启ollama即可,通过netstat -ano | findstr 11434
查看是否监听了0.0.0.0
continue
可参考:https://github.com/continuedev/continue/issues/1175#issuecomment-2081651169
简单来说,在远程主机上,把设置中的以下内容改为指定内容即可
{
"model": "AUTODETECT",
"title": "Ollama (Remote)",
"completionOptions": {},
"apiBase": "http://192.168.1.100:11434",
"provider": "ollama"
}
其中apiBase就是部署了ollama的机器
[软件工具使用记录] windows离线ollama部署本地模型并配置continue实现离线代码补全的更多相关文章
- Windows 10环境安装VIM代码补全插件YouCompleteMe
Windows 10环境安装VIM代码补全插件YouCompleteMe 折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了.关键问题是在于P ...
- 云服务器--linux系统操作命令以及安装ngnix记录,以及手动部署本地文件
1.控制台登陆服务器,需要首先知道服务器ip和密码,,命令是 ssh root@1.1.1.1(服务器IP),然后输入密码登入服务器 2.查看linux 版本的系统命令是 cat /etc/redha ...
- windows下Django 部署到Apache24的配置
1.首先下载最新版Apachehttp://httpd.apache.org/download.cgi#apache24,目前官方以不提供windows msi安装包,下载好的直接解压至C盘即可,ap ...
- LiteIDE 在 Windows 下为 Go 语言添加智能提示代码补全
本文以 Windows 7 64 位为环境,go1.4.2.windows-amd64 和 liteidex27.2.1.windows-qt5 为例. 成功搭建开发环境后,发现 LiteIDE 没有 ...
- Eclipse+Tomcat实现热部署/热加载配置,修改java代码无需重启tomcat
一.Tomcat热加载配置 Eclipse Package Explorer中找到Servers,点击你所需要运行的tomcat的config配置文件,例如 demo-config,双击该文件夹下的s ...
- 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题
在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...
- windows下百度离线人脸识别本地部署与使用(nodejs做客户端,c++做服务端,socket做通信)
1.离线人脸识别本地部署 详情请阅读百度人脸识别官网 2.nodejs做socket通信的客户端 为什么不直接通过调用c++编译的exe获得人脸识别结果? 原因:exe运行时会加载很多模型而消耗很多时 ...
- 离线方式部署Ambari2.6.0.0
Hadoop生态圈-离线方式部署Ambari2.6.0.0 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我现在所在的公司用的是CDH管理Hadoop集群,前端时间去面试时发现很多 ...
- Hadoop生态圈-离线方式部署Cloudera Manager5.15.1
Hadoop生态圈-离线方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前位置,Cloudera Manager和CDH最新 ...
- Windows Server 2012部署第一台域控
windows server 2012在部署DC方面有了一些改变,不但在操作上有一些改变,而且有了新的DC克隆的功能.本文就先来体验一下如何将一台windows server 2012 RTM服务器提 ...
随机推荐
- npm安装html2canvas依赖报错 npm ERR! Unexpected token < in JSON at position 0 while parsing near '<!DOCTYPE html> npm ERR! <htm...'
今天安装某个依赖时发现npm ERR! 可我是正常操作啊,也没有升级啥的,咋就安装不了了? npm install --save html2canvas 报错信息如下: npm ERR! Unexpe ...
- 每日学学Java开发规范,常量定义(附阿里巴巴Java开发手册(终极版))
前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...
- [离线计算-Spark|Hive] 大数据应用性能指标采集工具改造落地
背景 主要介绍针对平台的spark应用程序,在不修改用户程序的情况下 如何采集其资源和性能指标为后续分析使用,如性能优化,资源使用计价等. 分析挑战 在应用程序级别关联大量进程的指标 在分布式环境中, ...
- 现代IT基础设施管理(1):Terraform初识和小试牛刀
基础设施包括各种云,像国内的阿里云.腾讯云和华为云,国外的AWS.微软Azure云和谷歌云,还有Kubernetes和OpenStack,都可以用Terraform进行资源管理.使用基础设施即代码(I ...
- 第三篇:低功耗模组Air724UG硬件设计手册
今天我们分享最后一篇. 3.20 省电功能 根据系统需求,有两种方式可以使模块进入到低功耗的状态.对于AT版本使用"AT+CFUN"命令可以使模块 进入最少功能状态. 具体的功 ...
- .NET斗鱼直播弹幕客户端(上)
现在直播平台由于弹幕的存在,主播与观众可以更轻松地进行互动,非常受年轻群众的欢迎.斗鱼TV就是一款非常流行的直播平台,弹幕更是非常火爆.看到有不少主播接入弹幕语音播报器.弹幕点歌等模块,这都需要首先连 ...
- Python新手教学
## 简介Python是一种简单易学的编程语言,广泛应用于各个领域,包括Web开发.数据科学.人工智能等.本文将为新手程序员提供Python基础知识的教学,包括变量.数据类型.条件语句.循环.函数等内 ...
- vivo 企业云盘服务端实现简介
作者:来自 vivo 互联网存储团队- Cheng Zhi 本文将介绍企业云盘的基本功能以及服务端实现. 一.背景 vivo 企业云盘是一个企业级文件数据管理服务,解决办公数据的存储.共享.审计等文件 ...
- 纪念第一次在 Github 上提 ISSUE 得到了老哥的回复
背景 第一次在 GitHub 上提 ISSUE,提问的内容就是我的上一篇博文 rustlings v6.0 运行时出现 " You are trying to run Rustlings u ...
- N皇后问题(DFS-深度优先算法)
N皇后问题(DFS-深度优先算法) 题目描述: 在 N×N 的方格棋盘放置了 N 个皇后,使得它们不相互攻击(即任意 22 个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成 45° 的斜线上. ...