模型部署

Ollama

  • 部署方便,能够对外提供AI接口,有很多工具支持;

  • 缺乏自定义选项,比如Embedding模型未提供配置;

关于局域网访问

Ollama 服务使用环境变量 OLLAMA_HOST 来指定监听的地址,默认情况下,它只监听 localhost,即只能本地访问。如果要让局域网内其他设备访问 Ollama 服务,需要将 OLLAMA_HOST 设为 0.0.0.0。

在 Windows 中,可以通过以下步骤来设置环境变量 OLLAMA_HOST:

  • 打开系统属性:

    • 右键点击 此电脑 或 计算机,选择 属性。

    • 在左侧点击 高级系统设置。

  • 环境变量:

    • 在弹出的窗口中,点击 环境变量。

  • 新建系统环境变量:

    • 在系统变量部分,新建两个变量。

    • 在变量名输入框中,输入 OLLAMA_HOST,在变量值输入框中,输入 0.0.0.0,然后点击确定。

    • 在变量名输入框中,输入 OLLAMA_ORIGINS,在变量值输入框中,输入*,然后点击确定。

  • 重启命令行窗口:

    • 设置完成后,确保关闭并重新打开命令行窗口,使新的环境变量生效。

  • 使用 Windows 防火墙开放端口

    • 方法一:使用 Windows 防火墙图形界面

      1. 打开 控制面板,搜索并选择 Windows Defender 防火墙。

      2. 在左侧点击 高级设置,进入高级防火墙设置页面。

      3. 在左侧菜单中,点击 入站规则,然后在右侧点击 新建规则。

      4. 选择 端口 作为规则类型,然后点击 下一步。

      5. 选择 TCP,并在 特定本地端口 一栏中输入 11434,然后点击 下一步。

      6. 选择 允许连接,点击 下一步。

      7. 根据需求选择应用的网络类型(域、专用或公用),点击 下一步。

      8. 为这条规则命名(如 “Allow Ollama Port 11434”),然后点击 完成。

    • 方法二:使用命令行快速开放端口

      • 打开 命令提示符(以管理员身份运行),使用以下命令为 Ollama 服务开放 11434 端口(TCP 协议):netsh advfirewall firewall add rule name="Allow Port 11434" dir=in action=allow protocol=TCP localport=11434

      • 如果 Ollama 使用的是 UDP 协议,可以将命令中的 TCP 改为 UDP:netsh advfirewall firewall add rule name="Allow Port 11434" dir=in action=allow protocol=UDP localport=11434

    • 你可以通过以下命令确认规则是否正确添加:netsh advfirewall firewall show rule name="Allow Port 11434"

  • 测试 Ollama 服务是否在局域网中可访问:

    • 通过局域网中的另一台设备,在浏览器中输入以下地址进行测试:http://<你的本机IP地址>:11434 。如果服务成功启动,页面应显示 Ollama API 的相关信息,表明你的服务已经能够在局域网中正常访问。

LM-Studio

  • 一站式软件,提供丰富的功能,快速进行ai对话;默认嵌入式模型或者模型与ollama中的不同,直观感受更快;

  • 不提供接口,无法被其他工具快速利用;

huggingface被墙,需要修改模型网站的地址,参考流程

  1. 使用管理员特权,在power shell打开目录 C:\Users\xxx\AppData\Local\LM-Studio

  2. powershell中输入:findstr /s /i /m /c:"huggingface.co" .

  3. 打开路径C:\Users\xxx\AppData\Local\LM-Studio,修改上一步中找到的js文件,把所有的huggingface.co都替换成hf-mirror.com

  4. 重新开启lm,然后下载模型使用

LocalAI

docker限定,本地运行ai模型,解决个人从文本到视频的ai需求。

Code插件

Continue

参考:支持直连本地模型!不花一分钱的 AI 代码助手插件:Continue 详细教程

Continue 是一款 VSCode 和 JetBrains 插件,它本身不提供 AI 模型,提供了多种接入 AI 模型的方法,支持连接到本地的模型,来实现多种场景下的功能。

优势:

  • 在几款支持本地 AI 的代码插件中,continue支持中文问答。

  • continue支持提交文件,进行ai问答。

由于代码助手的场景很多样,不同的模型的侧重点也不同,不能用一套 OpenAI API 打天下。

比如最常见的 Tab 补全,表现最好的是 3B 大小的模型,因为速度最快。而 Chat 模型则可以用一些 GPT 4o、Claude 3.5 Sonnet 这样的常用对话模型。

Continue 目前根据用途,将模型分为下面这 4 种(下面链接内有更详细的解释):

#todo

Continue+Deepseek实现AI编程辅助

20250102更新:Deepseek以超低成本打入开源模型前列,可以试试。

Cline(Claude Dev)

Claude Dev 是一个功能强大的 VSCode 插件,旨在通过自动化任务执行和链式思维提示,帮助开发者高效完成各种编程任务。它不仅能创建和编辑文件,还能执行终端命令,提供人机协作的编程体验。用户可以通过简单的指令启动任务,Claude Dev 会在每一步操作前请求用户许可,确保安全和可控。类似cursor的插件,好像固定英文对话。

cline,之前叫做 claude dev,是一个 ai 编程的 agent,一站式解决方案,类似 v0,bolt.news,更强大。prompt with more context in app out,每次都是如此,所以 cline 是最耗费 token。

第二个用 cline 的原因是当时要开发的应用很简单。当应用复杂之后,要进行局部细节的处理,cline 面临了两个问题:

  • 成本剧增,经常一个功能的开发调试 10 美元。

  • 细节处理能力弱,经常反复覆盖。有点像抽卡,有时候会陷入地狱。

  • 创建和编辑文件

  • 执行终端命令

  • 任务历史记录和恢复

  • 支持 OpenAI 兼容 API

  • 读取 .pdf 和 .docx 文件

  • 任务执行循环和链式思维提示

安装流程

  1. 打开 VSCode。

  2. 进入扩展市场,搜索 “Claude Dev”。

  3. 点击安装按钮,等待安装完成。

  4. 安装完成后,重启 VSCode。

使用指南

  1. 启动任务:按下 Cmd + Shift + P,输入 Claude Dev: Open In New Tab,开始一个新任务。

  2. 创建和编辑文件:在任务中,Claude Dev 可以根据你的指令创建或编辑文件。你可以在编辑器中查看和修改 Claude 的更改。

  3. 执行终端命令:Claude Dev 可以执行终端命令,但每次执行前会请求你的许可。你可以在聊天窗口中查看命令输出,并根据需要响应或终止长时间运行的进程。

  4. 任务历史记录:你可以查看和恢复以前的任务,方便管理和追踪项目进度。

  5. 支持多种文件格式:Claude Dev 支持读取 .pdf 和 .docx 文件,可以将文档内容转化为代码或项目文件。

  6. 链式思维提示:Claude Dev 使用链式思维提示,帮助你逐步完成复杂任务。每一步操作前都会请求你的许可,确保任务执行的安全性和可控性。

详细操作流程

  1. 创建新文件:在任务窗口中输入 create new file <filename>,Claude Dev 会创建一个新文件并打开编辑器。

  2. 编辑文件:输入 edit file <filename>,Claude Dev 会打开指定文件,你可以在编辑器中进行修改。

  3. 执行命令:输入 execute command <command>,Claude Dev 会在终端中执行该命令,并将输出显示在聊天窗口中。

  4. 查看任务历史:输入 view task history,Claude Dev 会显示所有任务的历史记录,你可以选择恢复某个任务。

  5. 读取文档:输入 read document <filename>,Claude Dev 会读取指定的 .pdf 或 .docx 文件,并将内容转化为代码或项目文件。

CodeGPT

类似continue的插件,同样支持vscode和idea,能够使用本地ai,并且支持代码补全,设置简单;

未发现修改问答语言的设置,会以英文应答。

AI工具

Open WebUI

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线操作。它支持多种 LLM 运行器,包括 Ollama 和兼容 OpenAI 的 API。

网站形式,后台用ollama提供算力,win下部署比较麻烦,推荐docker部署。

优点:

  • ollama官方的方案,能构建ai问答网站,进化迅速,现在能够猜测提问者的意图,尝试补全问题;

官方文档中的核心功能:

  • 自定义构建新模型;

  • 自定义知识库、工具、函数;

  • 支持OpenAI API兼容格式;

  • 集成RAG和基于RAG的网络检索;

  • Markdown和Latex渲染支持;

  • 支持语音、绘图等;

  • 模型竞技场;

  • 自定义用户角色和权限(RBAC);

  • 响应式设计,支持PWA;

  • 多语言支持;

Blinko

新的ai笔记软件,能够使用ai整理笔记,以问答形式使用笔记;

  • 优点:能够调用openai或者ollama(20241127测试虚拟机docker中部署,无法调用宿主机)的api,处理记录的笔记;本地存储、样式丰富;20241219更新:官方支持ollama,但是没有测试通过;

  • 缺点:没有本地客户端;编辑体验相对一般;

AnythingLLM

一款可以与任何内容聊天的私人ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。

  • 需要配合ollama使用,不如直接使用LM-studio。

MaxKB

是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。

特点是能够快速构建ai网站,并且方便生成文档库;

同样需要后端提供算力;

推荐docker部署。

沉浸式翻译

能够利用ai进行翻译的插件,网页端可以保留原文,支持本地ollama;

  • 实时翻译外语网页,PDF翻译,EPUB电子书翻译,视频双语字幕翻译等。

  • 自由选择调用DeepL、Gemini等人工智能引擎来翻译上述内容。

  • 在手机上也可以随时随地用哦

硬件

  1. N卡最简单,消费级硬件先看显存;除了消费级硬件,还有一些计算卡,参考页面 世上最全NVDIA GPU参数列表: V100, A100, A800,H100,3090,4090, A40, A30等性能参数 - 知乎

  2. AMD可以使用ROCm运行模型,速度相对比较慢,不过显存比N卡便宜一点;A家的计算卡相对也比较便宜,但是不太推荐,比较折腾,性能也差,显存也不比n卡的大船货大;

  3. I家的卡也可以跑,Intel本身就是计算卡跟显卡同架构,可以利用Intel自己的ONEAPI框架运行模型,A770 16G以上性能可用;

  4. 现在NPU依赖产品官方的支持,比如rk3588的npu,官方并没有给出很好的框架,反而依赖板子厂家和个人开发者;