记deepseekAPI使用方法

  1. javascript 代码及注释:

deepseek官方服务器又挂了,api和网页哪个都用不了,是不是该考虑下个蒸馏小模型到本地

API 文档原址:https://api-docs.deepseek.com/zh-cn/

javascript 代码及注释:

构造及发送请求:

const OpenAI = require('openai');// 导入openai包

// 实例化openai对象,并传入DeepSeek API Key
const openai = new OpenAI({
        baseURL: 'https://api.deepseek.com',
        apiKey: '<DeepSeek API Key>'
});
//构造请求函数
  const completion = await openai.chat.completions.create({
    messages: [{ role: "system", content: "<示例>You are a helpful assistant." }],
    model: "deepseek-chat"||"deepseek-reasoner",//选择模型,deepseek-chat为聊天模型,deepseek-reasoner为推理模型,写的时候肯定不用||,只是为了都展示出来
    stream: false,//暂只写非流式吧
  });

传入json范例(messages):

messages = [{"role": "system", "content": system_prompt},
            {"role": "user", "content": user_prompt}]

处理响应:

const reply = completion.choices[0].message.content;
console.log(reply);//举例,输出回复

添加对话历史(与api无关):

const sessionHistory = new Map();
    // 初始化或获取对话历史,刷新页面历史记录不消失
if (!sessionHistory.has(sessionId)) {
            sessionHistory.set(sessionId, []);
}
const history = sessionHistory.get(sessionId);

// 添加用户消息到历史
history.push({ role: "user", content: message });
//添加机器回复到历史
history.push({ role: "assistant", content: reply });
//添加历史到请求消息中
const messages = [
    {略},
    ...history,//将history数组展开添加到messages数组中
]

限定前后缀:

messages = [
    {略},
    {"role": "assistant", "content": "```python\n", "prefix": True}//添加前缀
]
response = client.chat.completions.create(
    <略>
    stop=["```"],//添加后缀
)

接收深度思考思维链:

reasoning_content = response.choices[0].message.reasoning_content

从node环境中获取环境变量作为apikey降低泄露风险(与其api无关):

require('dotenv').config();//加载环境变量,文件为同目录下名为.env的文件
apiKey=process.env.DEEPSEEK_API_KEY//仅为示例

简单的前后端双层请求处理:

//后端
//后端准备工作
const express = require('express');//构建服务器
const cors = require('cors');//同源策略
const app = express();
//中间件
app.use(cors());
app.use(express.json());
app.use(express.static('public'));
//前端
const response = await fetch('/chat', {//路径为举例
//利用前端数据构造请求并发往后端
}
//后端
app.post('/chat', async (req, res) => {
    //获取前端请求的参数
    const { sessionId, systemPrompt, message,model, temperature } = req.body;//参数为举例
    //构造请求并接收响应
    //发送响应到前端
    res.json({ reply });
}
//前端
//接收到后端的json数据
const data = await response.json();
//处理数据并响应

联网搜索还需要再看看


此方悬停
相册 小说 Ai
/*音乐播放器插件*/ /*
*/