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实现离线代码补全的更多相关文章

  1. Windows 10环境安装VIM代码补全插件YouCompleteMe

    Windows 10环境安装VIM代码补全插件YouCompleteMe 折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了.关键问题是在于P ...

  2. 云服务器--linux系统操作命令以及安装ngnix记录,以及手动部署本地文件

    1.控制台登陆服务器,需要首先知道服务器ip和密码,,命令是 ssh root@1.1.1.1(服务器IP),然后输入密码登入服务器 2.查看linux 版本的系统命令是 cat /etc/redha ...

  3. windows下Django 部署到Apache24的配置

    1.首先下载最新版Apachehttp://httpd.apache.org/download.cgi#apache24,目前官方以不提供windows msi安装包,下载好的直接解压至C盘即可,ap ...

  4. LiteIDE 在 Windows 下为 Go 语言添加智能提示代码补全

    本文以 Windows 7 64 位为环境,go1.4.2.windows-amd64 和 liteidex27.2.1.windows-qt5 为例. 成功搭建开发环境后,发现 LiteIDE 没有 ...

  5. Eclipse+Tomcat实现热部署/热加载配置,修改java代码无需重启tomcat

    一.Tomcat热加载配置 Eclipse Package Explorer中找到Servers,点击你所需要运行的tomcat的config配置文件,例如 demo-config,双击该文件夹下的s ...

  6. 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题

    在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...

  7. windows下百度离线人脸识别本地部署与使用(nodejs做客户端,c++做服务端,socket做通信)

    1.离线人脸识别本地部署 详情请阅读百度人脸识别官网 2.nodejs做socket通信的客户端 为什么不直接通过调用c++编译的exe获得人脸识别结果? 原因:exe运行时会加载很多模型而消耗很多时 ...

  8. 离线方式部署Ambari2.6.0.0

    Hadoop生态圈-离线方式部署Ambari2.6.0.0 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我现在所在的公司用的是CDH管理Hadoop集群,前端时间去面试时发现很多 ...

  9. Hadoop生态圈-离线方式部署Cloudera Manager5.15.1

    Hadoop生态圈-离线方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前位置,Cloudera Manager和CDH最新 ...

  10. Windows Server 2012部署第一台域控

    windows server 2012在部署DC方面有了一些改变,不但在操作上有一些改变,而且有了新的DC克隆的功能.本文就先来体验一下如何将一台windows server 2012 RTM服务器提 ...

随机推荐

  1. nginx配置tomcat的负载均衡记录

    实现效果 (1)浏览器地址栏输入地址 http://192.168.17.129/edu/a.html,负载均衡效果,平均在 8080和 8081 端口中. 准备工作 (1)准备两台 tomcat 服 ...

  2. PowerPoint 修改默认导出图片的大小

    1.运行rededit打开注册表编辑器 2.找到HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\PowerPoint\Options 3.其中不同Of ...

  3. 部署个SSH蜜罐玩玩,又能增强安全性,又能当电子蛐蛐

    前言 最近有个旧服务器的 SSL 证书过期了,每次都申请 SSL 证书太麻烦了,我直接把 swag 方案部署上去. 然后发现这个服务器在安全方面有所疏忽,所以又加固了一下,SSH 部分我想起来之前用过 ...

  4. python实现基于RPC协议的接口自动化测试

    01什么是RPC RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议.从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程的 ...

  5. 题解:CF1301B Motarack's Birthday

    CF1301D Time to Run 题解 思维题. 分析 把一个格子视作一个点,每个点的度数都是偶数,所以这是一张欧拉图.而需要走遍整个方格图,可以证明只要 \(k\) 不超过 \(4nm-2n- ...

  6. flask+APScheduler定时任务的使用

    目录 APScheduler简介 安装 add_job参数详解 结合flask使用 用uwsgi启动项目 用gunicorn+gevent启动flask项目 APScheduler简介 APSched ...

  7. 读书笔记-C#8.0本质论-01

    1. IL代码入门 1.1 示例1 namespace ConsoleApp1; internal static class Program { internal static void Main(s ...

  8. Jenkins篇-权限管理

    我使用 权限管理插件是Role Strategy Plugin,他可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分 1)安装插件 系统管理>插件管理查找Role ...

  9. JPEG格式研究——(2)JPEG文件格式

    JPEG文件除了图像数据之外,还保存了与图片相关的各种信息,这些信息通过不同类型的TAG存储在文件中. TAG JPEG通过TAG标记压缩书记之外的信息.所有的TAG都包含一个TAG类型,TAG类型大 ...

  10. WxPython跨平台开发框架之参数配置管理界面的设计和实现

    我曾经在2014年在随笔<Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建>介绍过基于.NET开发的参数配置管理界面,本篇随笔基于类似的效果 ...