Deepseek API 接入指南:十分钟使用 Nodejs 搭建简易 AI 命令行聊天应用

1,179 阅读2分钟

0. 应用效果预览

应用效果如下图:命令行输入 aichat 进入聊天应用开始交互式聊天,输入 exit 退出聊天应用。

image.png

1. 注册 Deepseek 账号并获取 API Key

  1. 打开网页 Deepseek API 平台 注册账号。
  2. 点击 API Keys Tab,创建一个新的 API Key。 image.png
  3. 随意输入一个 API 名称,复制 API Key。 image.png

2. 使用 OpenAI SDK 调用 Deepseek API

  1. 创建一个 Nodejs 项目
# 创建文件夹
mkdir ai-chat
# 进入项目
cd ai-chat
# npm 初始化
npm init -y; npm pkg set type="module";
# 创建 index.js
touch index.js
  1. 安装 OpenAI SDK
# 安装 OpenAI SDK
npm install openai
  1. 调用 Deepseek API
import OpenAI from "openai";

// 初始化 OpenAI SDK
const openai = new OpenAI({
  baseURL: "https://api.deepseek.com",
  // 你的 Deepseek API Key
  apiKey: "<DeepSeek API Key>",
});

async function main() {
  // 调用 Deepseek API
  const completion = await openai.chat.completions.create({
    // 聊天消息 Hello!
    messages: [{ role: "user", content: "Hello!" }],
    model: "deepseek-chat",
  });
  // 打印调用结果
  console.log(completion.choices[0].message.content);
}

main();

命令行运行 node index.js,得到返回结果:

image.png

3. 使用 Readline 搭建命令行交互式 AI 聊天应用

  1. 安装 readline 依赖
npm install readline
  1. 使用 readline 创建一个可交互的命令行应用
#!/usr/bin/env node
import OpenAI from "openai";
import Readline from "readline";

// 创建 OpenAI 客户端
const client = new OpenAI({
  baseURL: "https://api.deepseek.com",
  apiKey: "sk-1b46aa0d8f6d454eb7d39da6ce2dc21f",
});
// 创建 Readline 实例
const rl = Readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
// 存储上下文
const messages = [];

async function main() {
  try {
    // 持续对话
    while (true) {
      // 获取用户输入信息
      const question = await new Promise((resolve) => {
        rl.question("User: ", (answer) => {
          resolve(answer);
        });
      });
      // 输入 exit 退出
      if (question.toLowerCase() === "exit") {
        rl.close();
        return;
      }
      // 记录输入信息
      messages.push({ role: "user", content: question });
      // 调用 Deepseek API
      const response = await client.chat.completions.create({
        model: "deepseek-chat",
        messages,
      });
      const answer = response.choices[0].message.content;
      // 记录输出结果
      messages.push({ role: "assistant", content: answer });
      // 打印输出结果
      console.log("\x1b[32m%s\x1b[0m", "Deepseek: " + answer);
    }
  } catch (error) {
    console.error("请求出错:", error);
    rl.close();
  }
}

main();
  1. 本地注册命令
# 获取文件路径,复制路径
pwd 
# 注册本地命令到配置文件(.zshrc/.bashrc/.bash_profile)
# {pwd} 需替换为上文获取的文件路径
echo "\nalias aichat='node {pwd}/index.js'" >> ~/.zshrc
# 重新加载配置
source ~/.zshrc

大功告成!此时就可以在命令行输入 aichat 进入聊天应用开始交互式聊天,输入 exit 退出聊天应用。