如果你希望在本地运行一个小型大语言模型,并通过 Node.js 调用它的 HTTP 接口进行联调,Ollama 是一个简单易用的选择。它负责下载和运行模型,同时默认提供本地 API,不需要额外搭建聊天界面。
一、安装 Ollama
前往 Ollama GitHub 仓库,根据操作系统下载安装并启动 Ollama。
安装完成后,打开终端,运行以下命令下载并启动模型:
ollama run qwen2.5:3b
首次运行时,Ollama 会自动下载模型。下载完成后,终端就可以直接与模型交互。退出终端对话后,Ollama 服务仍可通过本机接口提供调用。
qwen2.5:3b 是一个相对轻量的模型,适合先进行接口开发和功能联调。实际运行速度和资源占用会受到电脑内存、处理器及模型量化方式影响。
二、确认本地接口
Ollama 默认在本机启动服务,接口地址为:
http://localhost:11434
聊天接口为:
POST http://localhost:11434/api/chat
请求中的 model 需要与已下载的模型名称一致,例如 qwen2.5:3b。
三、通过 Node.js 调用接口
下面的示例使用 Node.js 内置的 fetch 发送请求:
async function chat() {
const response = await fetch('http://localhost:11434/api/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'qwen2.5:3b',
messages: [
{ role: 'user', content: '你好,请介绍一下自己。' }
],
stream: false
})
});
if (!response.ok) {
throw new Error(`请求失败:${response.status} ${response.statusText}`);
}
const data = await response.json();
console.log(data.message.content);
}
chat().catch(console.error);
将代码保存为 chat.js 后,在终端运行:
node chat.js
请求成功时,模型的回复会输出在终端中。示例中的 stream: false 表示等待模型生成完整回复后再返回,适合初期联调。如果需要逐步接收生成内容,可以进一步使用 Ollama 的流式响应功能。
四、注意事项
调用前,确认 Ollama 已安装并正在运行。
如果修改了模型名称,Node.js 请求中的
model也要同步修改。如果 Node.js 程序运行在 Docker 容器或其他设备上,
localhost指向的可能不是运行 Ollama 的那台机器,需要改用 Ollama 服务所在机器的地址,并按需配置网络访问。
总体来说,使用 Ollama 可以在本机完成模型运行,并通过 HTTP 接口与 Node.js 项目联调,适合快速验证本地大模型调用流程。