如果你希望在本地运行一个小型大语言模型,并通过 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 项目联调,适合快速验证本地大模型调用流程。