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

目录

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库

    shell 复制代码
    pip3 install openai
  2. 引入OpenAI并创建DeepSeek客户端实例

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

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

    输出结果如下:

  4. 流式输出结果

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

    python 复制代码
    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接口,实现实时聊天。

    python 复制代码
    import asyncio
    import json
    from websockets import serve
    from openai import OpenAI
    
    client = 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.content
                if 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 forever
    
    if __name__ == "__main__":
        asyncio.run(main())

    使用Postman测试接口:

结语

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

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

源码下载地址

相关推荐
白皎32 分钟前
立志成为一名优秀测试开发工程师(第九天)——使用fiddler工具、request库进行接口测试
前端·python·fiddler
孙胜完不了35 分钟前
Day39
python·深度学习·计算机视觉
.似水41 分钟前
Python PyMySQL
开发语言·python
Hello_WOAIAI1 小时前
python中使用高并发分布式队列库celery的那些坑
python·fastapi
不争先.2 小时前
关于智能体接入后端,在Apifox能够传参数给智能体的测试
python·pycharm·flask·apifox
编程有点难2 小时前
Python训练打卡Day36
人工智能·python·深度学习
黄小耶@2 小时前
深度解析 Dockerfile 配置:构建高效轻量的FastAPI 应用镜像
开发语言·python
FreakStudio9 小时前
一文速通Python并行计算:11 Python多进程编程-进程之间的数据安全传输-基于队列和管道
python·嵌入式·面向对象·并行计算·电子diy
天天进步201510 小时前
WebSocket指数避让与重连机制
网络·websocket·网络协议
DevangLic11 小时前
ffmpeg baidu
人工智能·pytorch·python·学习·ai·ffmpeg