使用 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.");

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

相关推荐
海上彼尚29 分钟前
Nodejs也能写Agent - 6.基础篇 - Agent
前端·人工智能·后端·node.js
wujian831139 分钟前
怎么把Kimi里的表格完整复制到wps内
人工智能·ai·wps·豆包·deepseek·ai导出鸭
DO_Community41 分钟前
Token聚合平台 vs 传统云 vs AI原生云,AI推理应用怎么选?
人工智能·agent·token·ai-native·deepseek
counterxing9 小时前
Agent 跑起来之后,难的是复用、观测和评测
node.js·agent·ai编程
YDS82910 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
jianwuhuang8219 小时前
豆包输出word
人工智能·ai·chatgpt·word·deepseek·ai导出鸭
濮水大叔21 小时前
告别 Django Admin!这个 NodeJS 全栈框架让你在 DTO 中直接配置 Table/Form 渲染
前端·typescript·node.js
环信即时通讯云1 天前
环信回调服务本地开发指南:基于Node.js的Webhook测试方案
node.js
白菜__1 天前
微信小程序网关逆向分析
javascript·微信小程序·小程序·node.js·网络爬虫·微信网关·小程序网关