如何在本地使用 LM Studio 运行 LLM 模型

可以开发应用程序,通过使用RHTTP/REST APIPythonTypeScript库,查询商业的LLM大型语言模型)系统,从而为自己的产品添加原创实用先进的功能。

然而,使用这些商业系统存在一些问题,可能成为重要限制,需要解决,例如:

  • 查询费用或订阅服务的成本,如OpenAIChatGPTAnthropicClaude
  • 隐私问题,即战略性或敏感数据可能泄露给外国跨国公司,
  • 无法在离线模式下使用这些系统,
  • 存在锁定风险,即依赖第三方公司并受其商业决策影响。

因此,在组织的服务器或私有云上运行 LLM 模型非常有用,实际上已有多种技术支持在私密受保护的环境中使用开源模型。只有这样,才能对自己的系统拥有完全控制权

还有一种简单且免费的方式,可以在自己的电脑上进行测试和试验,那就是LM Studio,这是一款免费且跨平台的桌面应用程序,允许下载、运行和查询 LLM。

安装与配置

LM Studio支持LinuxAppleWindows系统。在Windows上,只需从官方网站[1]下载安装包并运行即可。

安装完成后,用户界面如下所示:

首先需要通过点击左侧栏的放大镜(Discover选择下载模型

列表中每个模型都显示了多项信息:名称、架构类型参数数量下载次数技术细节创建日期,尤其是计算机资源是否足够运行该模型

例如,可以尝试搜索并下载DeepSeek模型或微软的Phi 3 mini模型。

下载到本地后,需要在程序主窗口顶部菜单中加载该模型。

加载完成后,即可使用应用界面像使用在线商业服务一样查询模型,甚至可以附加文件丰富请求内容。

什么是模型?

模型是一个已训练好的Transformer类型神经网络,以优化格式分发,可在消费级硬件上本地运行。

实际上,它们是二进制文件,格式多样(在LM Studio中为GGUF格式[4]),包含:权重矩阵编码的网络结构训练中学习的状态等。

模型名称中包含的代码表示参数数量,与网络复杂度和文件大小相关:

缩写/后缀 参数数量 GGUF文件大致大小* 示例
350M 3.5亿 约300 MB / 约400 MB Minerva-350M-base-v1.0-Q8_0-GGU
1.3B 13亿 约1 GB / 约2 GB deepseek-coder-1.3b-instruct-GGUF
3.1B 31亿 约1.2 GB / 约7 GB Phi 3.1 Mini 128k
7B 70亿 约3 GB / 约13 GB DeepSeek R1 Distill Qwen 7B
65B 650亿 约30 GB / 约130 GB LLaMA-65B-GGUF

* 文件大小取决于量化,例如:Q4_0、Q4_K_M、Q6_K、Q8_0、FP16、Q5、Q5_K_M等是可能的量化级别。

量化是深度学习模型中的一种压缩技术,用于减少模型大小和计算需求,使其更快更高效,尤其适用于资源有限的设备(如智能手机、笔记本或微控制器)。目前,Q4_K_MQ6_K格式在文件大小和性能质量之间提供了最佳平衡。

操作模式与交互方式

界面提供三种操作模式:UserPower UserDeveloper。每种模式根据用户技能允许启用不同复杂度的配置。第三种模式可启动一个可访问的服务器,允许外部应用通过HTTP API或库与模型交互。

总结来说,可以通过LM Studio运行的模型以三种方式交互:

  • 通过用户界面:经典交互方式。
  • 通过HTTP API:非常适合网页应用。
  • 通过Python或TypeScript库:适合开发模块、代理或各种应用。

启动LM Studio服务器时,选择主界面底部的Developer模式,点击左侧栏出现的绿色“prompt”图标(Developer),然后在Status部分点击启动按钮即可:

通过 HTTP API 交互

启动LM Studio服务器后,默认监听端口为1234,可以使用浏览器curl命令、类似Insomnia的软件或喜欢的编程语言发起 HTTP 请求。

例如,使用浏览器访问此 URL 可查看已下载模型列表http://localhost:1234/v1/models

或者使用CURL命令查询模型:

curl http://localhost:1234/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\": \"phi-3.1-mini-128k-instruct\", \"messages\": [{\"role\": \"user\", \"content\": \"什么是水豚?\"}], \"temperature\": 0.7}"

通过 Python 库 lmstudio 交互

若使用Python查询模型,需要先安装lmstudio库:

pip install lmstudio

然后执行以下代码:

import lmstudio as lm
model = lm.llm("deepseek-r1-distill-qwen-7b")
prediction = model.respond("用简单的话解释狭义相对论。")
print(prediction)

或者:

import lmstudio as lm
model = lm.llm("deepseek-r1-distill-qwen-7b")
prediction = model.respond_stream("什么是水豚?")
for fragment in prediction:
    print(fragment.content, end="", flush=True)
print()

TypeScript语法不同,但交互方式类似。

通过控制台交互

也可以通过LM Studio集成的控制台使用命令行与服务器交互,命令为lms

常用命令示例:

lms version
lms ls
lms load phi-3.1-mini-128k-instruct
lms ps
lm server start
lm server stop
...

图片画廊

下面是本文描述的配置和测试截图:

来源与参考

  1. LM Studio AI:官方网站。
  2. LM Studio 官方文档
  3. 如何在本地PC使用生成式AI:LM Studio、Ollama及开源模型Lore CloudYouTube
  4. GGUF格式Hugging Face官网。
  5. 用Python查询Google Bard / PaLM,本站博客。
  6. 用Python查询OpenAI ChatGPT,本站博客。

*** 注意:本文是通过 n8n 和 OpenAI 自动流程翻译生成的。

1 year ago

Leave a Reply

Your email address will not be published. Required fields are marked *

评论审核已启用。您的评论可能需要一段时间后才能被显示。