使用 OpenAI 的 Node.js 通过 Ollama 在本地运行 DeepSeek R1

介绍

DeepSeek R1 是一款开源 LLM,可提供强大的生成式 AI 功能。如果您使用Ollama 在本地运行它,您可能想知道如何将其与您的 Node.js 应用程序集成。本指南将向您展示如何设置和使用OpenAI SDK 以及您本地运行的 DeepSeek R1 模型

步骤 1:使用 Ollama 在本地启动 DeepSeek R1

确保 Ollama 正在运行并且已下载 DeepSeek R1 模型。如果尚未安装,请执行以下操作:

复制代码
ollama pull deepseek-r1:1.5b

然后,启动测试会话以验证其是否正常工作:

复制代码
ollama run deepseek-r1:1.5b

第 2 步:安装依赖项(Nodejs)

首先,确保您已安装 Node.js,然后安装 OpenAI SDK:

复制代码
npm install openai

步骤 3:配置 OpenAI SDK 以使用 Ollama

const OpenAI = require("openai");

const openai = new OpenAI({

baseURL: "http://localhost:11434/v1", // Pointing to Ollama's local API

apiKey: "ollama", // Required by the OpenAI SDK, but Ollama doesn't validate it

});

async function chatWithDeepSeek(prompt) {

try {

const response = await openai.chat.completions.create({

model: "deepseek-r1:1.5b", // Ensure this model is running

messages: [{ role: "user", content: prompt }],

});

console.log(response.choices[0].message.content);

} catch (error) {

console.error("Error:", error.message);

}

}

// Test the function

chatWithDeepSeek("Hello, how are you?");

步骤 4:启用流式响应

为了提高性能并实时获得响应,请启用流式

传输函数的流式传输版本

async function chatWithDeepSeekStream(prompt) {

try {

const stream = await openai.chat.completions.create({

model: "deepseek-r1:1.5b",

messages: [{ role: "user", content: prompt }],

stream: true, // Enable streaming

});

for await (const chunk of stream) {

process.stdout.write(chunk.choices[0]?.delta?.content || "");

}

console.log("\n");

} catch (error) {

console.error("Error:", error.message);

}

}

chatWithDeepSeekStream("Tell me a fun fact about space.");

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

相关推荐
吳所畏惧2 小时前
NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决
前端·windows·阿里云·npm·node.js·batch命令
JS_Love4 小时前
nodejs 手动实现 multipart/byteranges 分块下载
node.js
白一梓5 小时前
Node.js 流全解
node.js
FIT2CLOUD飞致云18 小时前
七月月报丨MaxKB在企业环境中实现AI落地的具体场景盘点
人工智能·开源·deepseek
门前云梦1 天前
ollama+open-webui本地部署自己的模型到d盘+两种open-webui部署方式(详细步骤+大量贴图)
前端·经验分享·笔记·语言模型·node.js·github·pip
Watermelo6171 天前
Web Worker:让前端飞起来的隐形引擎
前端·javascript·vue.js·数据挖掘·数据分析·node.js·es6
陈佬昔没带相机1 天前
Dify MCP功能实测,小参数模型竟然全军覆没!
ollama·deepseek·mcp
前端老鹰1 天前
Node.js 日志处理利器:pino 模块全面解析
后端·node.js
JiaLin_Denny1 天前
Node.js 版本兼容问题:minimatch@10.0.3和minio@7.0.28 冲突的解决
node.js·node安装包冲突
rogerogers1 天前
告别 Node 版本混乱!fnm 让你的开发环境丝滑起飞
javascript·node.js