深度集成DeepSeek大模型:WebSocket流式聊天实现

目录

  • 5分钟快速接入DeepSeek大模型:WebSocket实时聊天指南
    • 创建应用
    • 开发后端代码 (Python/Node.js)
    • 结语

5分钟快速接入DeepSeek大模型:WebSocket实时聊天指南

创建应用

  1. 访问DeepSeek官网

    • 前往 DeepSeek官网。
    • 如果还没有账号,需要先注册一个。
      在这里插入图片描述
  2. 进入API开放平台

    • 点击右上角的“API 开放平台”按钮,进入后台管理页面。
    • 你可以看到默认赠送的10元免费额度。
      在这里插入图片描述
  3. 创建API Key

    • 点击“API keys”,进入Key管理页面。
    • 创建一个新的API Key,并确保保存好这个Key,因为一旦离开页面就无法再次查看。
      在这里插入图片描述

开发后端代码 (Python/Node.js)

推荐使用Python或Node.js编写后台代码。下面以Python为例进行说明。

  1. 安装OpenAI库

    pip3 install openai
    
  2. 引入OpenAI并创建DeepSeek客户端实例

    from openai import OpenAIclient = OpenAI(api_key="替换为你的key", base_url="https://api.deepseek.com")
    
  3. 发送请求

    response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "user", "content": "详细介绍一下你自己"},],stream=False
    )
    print(response.choices[0].message.content)
    

    输出结果如下:
    在这里插入图片描述

  4. 流式输出结果
    将请求参数 stream 设置为 True 即可实现流式输出。

    response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "user", "content": "详细介绍一下你自己"},],stream=True
    )
    for chunk in response:print(chunk.choices[0].delta.content, end='', flush=True)
    
  5. 接口封装
    将功能封装为WebSocket接口,实现实时聊天。

    import asyncio
    import json
    from websockets import serve
    from openai import OpenAIclient = OpenAI(api_key="替换为你的key", base_url="https://api.deepseek.com")async def chat_handler(websocket):async for message in websocket:data = json.loads(message)user_input = data.get('user_input', '')history = data.get('history', [])messages = [{"role": "system", "content": "You are a helpful assistant"}]messages.extend(history)messages.append({"role": "user", "content": user_input})response = client.chat.completions.create(model="deepseek-chat",messages=messages,stream=True)for chunk in response:content = chunk.choices[0].delta.contentif content:await websocket.send(json.dumps({'content': content}, ensure_ascii=False))async def main():async with serve(chat_handler, "localhost", 8765):await asyncio.Future()  # Run foreverif __name__ == "__main__":asyncio.run(main())
    

    使用Postman测试接口:
    在这里插入图片描述

结语

通过以上步骤,你可以在短短5分钟内完成与DeepSeek大模型的集成,并实现一个实时聊天应用。WebSocket技术使得聊天内容可以流式传输,提升用户体验。希望这篇指南对你有所帮助,让你的项目更加高效和强大!

前端开发教程构建高效智能对话前端:基于Ant Design X 的deepseek对话应用

源码下载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java断点调试(debug)

在开发中,新手程序员在查找错误时, 这时老程序员就会温馨提示,可以用断点调试,一步一步的看源码执行的过程,从而发现错误所在。 重要提示: 断点调试过程是运行状态,是以对象的运行类型来执行的 断点调试介绍 断点调试是…

软件技术实训室解决方案(2025年最新版)

软件产业作为新兴产业的核心组成部分,是推动数字经济发展的重要力量。在“十四五”规划的新机遇与挑战下,我国已明确将加强关键数字技术创新应用作为战略重点,并将软件和信息技术服务业的发展列为重中之重。这不仅是为了加速构建现代产业体系…

foobar2000设置DSP使用教程及软件推荐

foobar2000安卓中文版:一款高品质手机音频播放器 foobar2000安卓中文版是一款备受好评的高品质手机音频播放器。 几乎支持所有的音频格式,包括 MP3、MP4、AAC、CD 音频等。不论是经典老歌还是最新的流行音乐,foobar2000都能完美播放。除此之…

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言,本地想要部署 DeepSeek 有很多种方案,但是一旦涉及到企业级部署,则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型,以及我们所要部署的模型&…

I2C、SPI、UART

I2C:串口通信,同步,半双工,双线(数据线SDA时钟线SCL),最大距离1米到几米 SPI(串行外设接口):串口通信,同步,全双工,四线&…

uniapp 连接mqtt

1:下载插件 npm install mqtt 2:创建 mqtt.js /* main.js 项目主入口注入实例 */ // import mqttTool from ./lib/mqttTool.js // Vue.prototype.$mqttTool mqttTool/* 使用范例见 /pages/index/index.vue */ // mqtt协议:H5使用ws/wss APP-…

shell脚本备份PostgreSQL数据库和库下表

注意: 以下为对PostgreSQL13.16版本数据库备份shell脚本参考请确认备份节点上psql和pgdump的版本不至于太低,建议>13.16该脚本目前是对于整库、(默认针对public这个schema,如果有其他schema,请自行添加一层循环&am…

EXCEL解决IF函数“您已为此函数输入太多个参数”的报错

IF函数的基本结构是IF(条件, 值为真时的结果, 值为假时的结果),所以标准的IF函数最多只能有三个参数。当用户输入的参数超过三个时,Excel就会报这个错误。比如多个IF语句叠加,但可能在嵌套的过程中没有正确关闭每个IF函数的括号,导…

图像质量评价指标-UCIQE-UIQM

一、评价指标UCIQE 在文章《An underwater color image quality evaluation metric》中,提到的了评价指标UCIQE(Underwater Colour Image Quality Evaluation),是一种无参考图像质量评价指标,主要用于评估水下图像的质…

Vue 前端开发中的路由知识:从入门到精通

文章目录 引言1. Vue Router 简介1.1 安装 Vue Router1.2 配置 Vue Router1.3 在 Vue 实例中使用 Vue Router 2. 路由的基本用法2.1 路由映射2.2 路由视图2.3 路由链接 3. 动态路由3.1 动态路径参数3.2 访问动态参数3.3 响应路由参数的变化 4. 嵌套路由4.1 定义嵌套路由4.2 渲染…

基于Springboot+微信小程序调用文心一言大模型实现AI聊天

一、文章前言 此文主要实现基于Springboot微信小程序调用文心一言大模型实现AI聊天对话功能,使用Java作为后端语言进行支持,界面友好,开发简单。 二、开发流程及工具准备 2.1、登录百度智能云平台,获取 API Key 和 Secret Key两个…

leaflet前端初始化项目

1、通过npm安装leaflet包,或者直接在项目中引入leaflet.js库文件。 npm 安装:npm i leaflet 如果在index.html中引入leaflet.js,在项目中可以直接使用变量L. 注意:尽量要么使用npm包,要么使用leaflet.js库,两者一起使用容易发生…

Deepseek官网接口文档

API 接口 生成完成 生成聊天完成 创建模型 列出本地模型 显示模型信息 复制模型 删除模型 拉取模型 推送模型 生成嵌入 列出运行中的模型 版本 约定 模型名称 模型名称遵循 model:tag 格式,其中 model 可以有一个可选的命名空间,例如 ex…

容器运行常见数据库

一.涉及镜像压缩包 均为amd架构版本:mysql:5.7.42、postgres:13.16、dm8:20250206_rev257733_x86_rh6_64、oceanbase-ce:v4.0、opengauss:5.0.2 通过网盘分享的文件:db.tgz 链接: https://pan.baidu.com/s/1EBbFPZj1FxCA4_GxjVunWg?pwd563s 提取码: 5…

python爬虫系列课程2:如何下载Xpath Helper

python爬虫系列课程2:如何下载Xpath Helper 一、访问极简插件官网二、点击搜索按钮三、输入xpath并点击搜索四、点击推荐下载五、将下载下来的文件解压缩六、打开扩展程序界面七、将xpath.crx文件拖入扩展程序界面一、访问极简插件官网 极简插件官网地址:https://chrome.zzz…

PHP支付宝--转账到支付宝账户

官方参考文档: ​https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?sceneca56bca529e64125a2786703c6192d41&pathHash66064890​ 可以使用默认应用,也可以自建新应用,此处以默认应用来讲解【默认应用默认支持…

前端开发岗模拟面试题套卷A答案及解析(一)技术面部分

前端开发岗模拟面试题套卷A答案及解析(一)技术面部分 (一)技术面 一、JavaScript核心技术(ES6+) 1-1、实现防抖函数 function debounce(fn, delay) {let timer = null;return function(...args) {clearTimeout(timer); // 清除已有定时器timer = setTimeout(() =>…

对称加密算法——IDEA加密算法

Java IDEA算法详解 1. 理论背景 IDEA(International Data Encryption Algorithm)是一种对称密钥加密算法,由Xuejia Lai和James Massey于1991年提出。它被设计用于替代DES(Data Encryption Standard)算法,…

单例模式、构造函数、左值右值

拷贝构造函数 简单的说就是——用一个对象构造另外一个对象 class Myclass {public:int d0;Myclass(int d_){d d_}; //常用的构造函数Myclass(Myclass c) //拷贝构造函数{d c.d;} }; //对比 class Myclass {public:int d0;Myclass(int d_){d d_}; //常用的构造函数Myclass…

rustdesk远程桌面自建服务器

首先,我这里用到的是阿里云服务器 centos7版本,win版客户端。 准备工作 centos7 服务器端文件: https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip win版客户端安装包&#xff1…