使用 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.choices0.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.choices0?.delta?.content || "");

}

console.log("\n");

} catch (error) {

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

}

}

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

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

相关推荐
编程的一拳超人1 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
FungLeo1 小时前
成为全栈·Node 后端篇·文件上传:R2 / 本地磁盘双实现与签名直传
node.js·文件上传·成为全栈·cloudflare r2·文件去重
FungLeo3 小时前
成为全栈·Node 后端篇·认证方案:JWT 还是 Session
node.js·jwt·session·认证方案
AC赳赳老秦5 小时前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw
FungLeo7 小时前
成为全栈·Node 后端篇·文章 CRUD 与投稿状态机
node.js·状态机·crud·成为全栈
AC赳赳老秦9 小时前
环保监测公开数据应用:OpenClaw 抓取空气与水质公开监测数据,开展区域环境质量趋势分析
大数据·数据库·人工智能·python·php·deepseek·openclaw
大模型真好玩9 小时前
大模型训练全流程实战指南实战篇(十五)——预训练数据治理
人工智能·agent·deepseek
晴天1611 小时前
Webpack3/4/5 核心差异、性能升级与迁移实战指南-Day38
webpack·node.js
大牧师11 小时前
Nest.js 微服务入门教程
开发语言·javascript·后端·微服务·node.js·nest.js·nest
wxwx_bscxy3221 天前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警