当前位置: 首页 > news >正文

从零上手DeepSeek API:Node.js手把手完整接入教程

文章目录

    • 前言
    • 第一步:项目初始化,给代码办个身份证
    • 第二步:安装依赖,去菜市场买菜
    • 第三步:API Key管理,你的私房钱藏好了
    • 第四步:写核心代码,给DeepSeek发微信
    • 第五步:async/await,等外卖的艺术
    • 第六步:nodemon,自动续杯的咖啡机

P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01

前言

2026年了,AI都已经学会自己写代码、自己改bug、自己给自己发加班费了,结果你——一个堂堂正正的程序员——居然还不会调用大模型API?

别慌,今天这篇就是来拯救你的。我们不讲虚的,直接从npm init开始,手把手带你搭一个能跑起来的DeepSeek API应用。看完你要是还学不会,建议把键盘寄给我,我帮你写。

第一步:项目初始化,给代码办个身份证

做任何项目之前,你得先有个package.json。这玩意儿就像是项目的身份证,没有它,你的代码在Node.js世界里就是黑户,走哪都被嫌弃。

打开终端,输入下面这行命令,相当于去民政局跟项目闪了个婚:

npm init -y

那个-y参数的意思就是:别问那么多废话,默认值全给我安排上。就像你相亲时对方问"你有房吗有车吗有存款吗",你直接回答"都有,赶紧领证"。

执行完你会发现目录里多了个package.json,里面记录着项目名、版本、依赖等信息。看起来平平无奇,但后面的所有操作——装包、跑脚本、声明模块类型——全都围着它转。它就是你项目的户口本。

第二步:安装依赖,去菜市场买菜

项目有了身份证,接下来得买菜做饭了。我们需要两个核心食材:openai和dotenv。

npm i openai dotenv

这里有个冷知识:openai这个npm包早就不是OpenAI专属了,它现在是大模型API界的万能翻译官。DeepSeek、通义千问、Moonshot这些国产厂商全都兼容OpenAI的API格式。你只需换个baseURL,同一套代码能跟不同模型聊天,比渣男换女友还方便。

如果你嫌npm安装慢、node_modules占空间像吃了膨胀剂,强烈推荐pnpm。它的原理是全局存储加硬链接,同一个包在磁盘上只存一份,不同项目共享。装一次,到处用——这比你对象的承诺靠谱多了。

npm install -g pnpm pnpm i openai dotenv

📦 包管理器对比速查表
npm:Node.js原配,兼容性最好,就像你初恋,朴实但够用。
yarn:早年以速度快著称,现在地位有点尴尬,像过气网红。
pnpm:磁盘效率之王,严格依赖隔离,是技术圈的新晋顶流。

第三步:API Key管理,你的私房钱藏好了

API Key是什么?是你调用大模型服务的钥匙。一旦泄露,别人就能以你的名义疯狂调用,轻则欠费,重则数据泄露。这玩意儿比你女朋友的生日还重要,绝对不能丢。

所以我们得给它找个保险柜——.env文件。把你的Key写进去,格式如下:

DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx DEEPSEEK_API_BASE_URL=https://api.deepseek.com/v1

注意格式:全大写,下划线连接,等号两边别加空格和引号。一行一个变量,整整齐齐,比你书桌还干净。

但光藏进保险柜还不够,你还得告诉Git:"这个文件是我的隐私,别给我传到GitHub上去。"于是我们需要.gitignore:

node_modules/ .env

这两行代码的意思是:node_modules体积太大,而且能通过package.json还原,没必要提交;.env里藏着我的私房钱,提交上去就是社会性死亡。记住原则:.env本地跑,远程不提交;node_modules随时能还原,不用操心。

🔐 API Key读取链路
.env → dotenv.config() → process.env
dotenv就像个翻译官,把.env文件里的配置翻译成Node.js能听懂的环境变量,然后塞进process.env这个全局对象里。之后你在代码里通过process.env.DEEPSEEK_API_KEY就能拿到Key了。

第四步:写核心代码,给DeepSeek发微信

你可能注意到了,我们的入口文件叫index.mjs而不是index.js。.mjs是Module JS的缩写,支持ES6的import/export语法,是JS界的正装版。如果你坚持用.js,就在package.json里加一行"type": “module”,相当于给你的文件办个VIP卡。

核心代码其实就十几行,比你的简历还短:

importdotenvfrom'dotenv'import{OpenAI}from'openai'dotenv.config()constclient=newOpenAI({apiKey:process.env.DEEPSEEK_API_KEY,baseURL:process.env.DEEPSEEK_API_BASE_URL,})constmain=async()=>{console.log('程序开始运行')constresult=awaitclient.chat.completions.create({model:'deepseek-chat',messages:[{role:'user',content:'hello'}],})console.log(result.choices[0].message.content)console.log('程序结束')}main()

来,我们拆解一下这段代码的逻辑。第一步,导入依赖,就像出门前先检查钱包和手机;第二步,dotenv.config()加载环境变量,相当于打开保险柜把钥匙拿出来;第三步,new OpenAI()实例化客户端,绑定API Key和目标地址,这就是你给DeepSeek递名片;第四步,client.chat.completions.create()发送请求,相当于你给DeepSeek发了条微信说"在吗";第五步,解析返回结果,就是DeepSeek回你消息了。

那个.chat.completions.create()的命名也不是随便起的。Chat表示对话场景,Completion表示文本补全,Create表示创建一次调用。理解了这个命名体系,你看官方文档就像看中文说明书一样简单。

第五步:async/await,等外卖的艺术

JavaScript有个特点:代码的编写顺序和执行顺序有时候不一样。像API请求这种操作是异步的——它不会阻塞后面的代码,而是"未来某个时刻"才返回结果。

如果你不加await,result拿到的是一个Promise对象,相当于你点了个外卖,结果外卖员给你一张小票说"等着吧"。你看着小票能吃饱吗?不能。所以必须加await,代码会"卡"在这一行,等API返回真正的数据后才继续往下走。

// ❌ 错误示范:拿到的是Promise,不是结果constresult=client.chat.completions.create(...)console.log(result)// Promise { }// ✅ 正确示范:等结果返回后再执行constresult=awaitclient.chat.completions.create(...)console.log(result)// 真正的返回数据

async/await是ES8引入的语法糖,让你用同步的写法写异步代码。核心原则就三条:函数前加async表示"里面有异步操作";异步调用前加await表示"给我等着";错误处理用try/catch包裹,避免未捕获的异常把进程搞崩溃。

constmain=async()=>{try{constresult=awaitclient.chat.completions.create({model:'deepseek-chat',messages:[{role:'user',content:'你好'}],})console.log(result.choices[0].message.content)}catch(error){console.error('调用失败:',error.message)}}

这就像是:你点外卖时加了备注"如果超时记得打电话",而不是傻乎乎地等到天黑。try/catch就是那个备注,让程序优雅地处理异常,而不是直接崩溃给你看。

第六步:nodemon,自动续杯的咖啡机

每次改代码都要手动Ctrl+C停掉进程,再node index.mjs重启,这体验就像你喝一口咖啡就得重新煮一壶。nodemon就是来解决这个问题的——它监听文件变化,自动重启Node进程,相当于一台自动续杯的咖啡机。

npm install -g nodemon nodemon index.mjs

你也可以把命令写进package.json的scripts里,以后直接npm run dev就能启动,比你对象叫你起床还方便。

{"scripts":{"dev":"nodemon index.mjs"}}

进阶玩家可以试试tsx,基于esbuild,比nodemon快一个数量级,而且原生支持TypeScript。不过对新手来说,nodemon已经够香了,先别急着装X。

🚀 完整开发流程速览
① npm init -y → 初始化项目
② pnpm i openai dotenv → 安装核心依赖
③ 创建.env + .gitignore → 管理API Key
④ 创建main.mjs → 单点入口文件
⑤ 实现main()函数 → 串联调用链路
⑥ 调用chat.completions → 发送请求并解析
⑦ nodemon启动 → 热重载提升效率

以上就是AIGC工程化的最小可行骨架。在这个基础上,你可以继续扩展:多轮对话、流式输出、Function Calling、RAG外挂知识库……但万丈高楼平地起,先把这七步跑通,你就已经超越了80%只会用网页版ChatGPT的人。

2026年了,AI应用开发不再是少数人的专利。看完这篇还不动手试试?你的键盘在等你,DeepSeek也在等你。冲就完了。

P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01

http://www.rkmt.cn/news/1464583.html

相关文章:

  • 智能结对编程:如何利用快马AI辅助优化ayx·爱游戏网页弹球项目的代码与性能
  • IM-PINN:基于内禀度量的物理信息神经网络在反应扩散系统中的应用
  • 在LVM上安装Gbase 8S
  • 基于微信小程序的复习计划管理系统源码+论文
  • SQL内核修炼:ICU 医疗监护 — 多设备“危险重叠期”识别 | 详解扫描线算法
  • SpringBoot+Vue高校机动车认证信息管理系统源码+论文
  • Python map、filter、zip 三大函数式核心用法与工程实践
  • 免费降重工具精选:AI智能改写高效降低重复率 - 仙仙学姐测评
  • SpringBoot+Vue高校教室设备故障报修信息管理系统源码+论文
  • 从Hello World到第一个项目:用VS Code + Rust-Analyzer插件打造你的高效Rust工作流
  • JSON对比终极指南:3分钟掌握可视化差异分析神器
  • 2026年四川商用摆摊大伞/岗亭遮阳伞公司对比推荐 - 行业平台推荐
  • 2026年评价高的哈尔滨收银系统/哈尔滨小程序开发/哈尔滨GEO/哈尔滨电子签品质保障公司 - 品牌宣传支持者
  • Claude深度集成开发工作流:工程化上下文管理实践
  • 多维聚合实战:从OLAP立方体构建到实时聚合优化
  • 单卡RTX 4090微调20B多语言大模型做推理训练实战
  • 百度网盘全速下载终极指南:告别限速,轻松获取文件
  • 2026年热门的太阳伞/岗亭遮阳伞长期合作厂家推荐 - 品牌宣传支持者
  • 从PHM 2012挑战赛看工业预测性维护:如何用轴承振动数据训练你的第一个RUL模型
  • Navicat连Oracle 11g报错ORA-28547?别慌,手把手教你替换oci.dll文件搞定
  • SIMULINK仿真结果导出与绘图避坑指南:To Workspace设置、时间轴对齐与双坐标轴处理
  • AI Agent 全栈落地精讲:从技术演进到金融企业级实战,零基础程序员转行必看
  • 重要任务-----制作30个介绍APP主要功能的视频
  • PaLM-E:具身智能的端到端多模态统一认知架构
  • 2026年热门的电商产业园区/宁波电商产业园区推荐榜单 - 品牌宣传支持者
  • 别再只写界面了!用Qt6+Modbus快速打造一个工业上位机监控软件(实战篇)
  • 用快马平台快速生成交互式广告原型,十分钟搞定创意验证
  • 【AI审核落地实战指南】:2023年企业智能审核系统集成的7大避坑法则与3套可复用架构模板
  • 别再误解S参数和驻波了!用四臂螺旋天线功分网络讲透射频匹配的本质
  • 英雄联盟智能助手:League Akari完全指南 - 提升你的游戏体验到新高度