DeepSeek服务器繁忙 多种方式继续优雅的使用它
前言
你的DeepSeek最近是不是总是提示”服务器繁忙,请稍后再试。”,尝试过了多次重新生成后,还是如此。之前DeepSeek官网连续发布2条公告称,DeepSeek线上服务受到大规模恶意攻击。该平台的对话框疑似遭遇了“分布式拒绝服务攻击”(DDos),大量分布在不同地点的机器对目标进行攻击,消耗被攻击对象的网络带宽或系统资源,导致其网络或系统不胜负荷而无法提供正常的网络服务。特别对我们这种有点依赖AI审查、修改和优化代码的码农,确实很影响体验感了,所以有没有一种方法能更顺畅的使用到DeepSeek,本文提供几种思路来实现。
DS Api
这个是DeepSeek官方的开发平台,创建API key 后可以使用以下样例脚本的来访问 DeepSeek API。样例为非流式输出,您可以将 stream 设置为 true 来使用流式输出。
# Please install OpenAI SDK first: `pip3 install openai`from openai import OpenAIclient = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": "You are a helpful assistant"},{"role": "user", "content": "Hello"},],stream=False
)print(response.choices[0].message.content)
模型 & 价格细节如下:
1.deepseek-chat 模型已经升级为 DeepSeek-V3;deepseek-reasoner 模型为新模型 DeepSeek-R1。
2.思维链为deepseek-reasoner模型在给出正式回答之前的思考过程,其原理详见推理模型。
3.如未指定 max_tokens,默认最大输出长度为 4K。请调整 max_tokens 以支持更长的输出。
4.关于上下文缓存的细节,请参考DeepSeek 硬盘缓存。
5.deepseek-reasoner的输出 token 数包含了思维链和最终答案的所有 token,其计价相同。
不过这个问题是,现在(2025.02.19)它是收费的,没有免费额度,而且它暂停充值(当前服务器资源紧张,为避免对您造成业务影响,我们已暂停 API 服务充值。存量充值金额可继续调用,敬请谅解!),如果您是之前充值的还可以继续使用。
那么这种方式我也没进行验证,排队情况、返回速度和可用性等都不得而知。
第三方接口
这种方式是接入第三方部署的接口,直接交互,这里是B站【秋芝2046】整理的DeepSeek 第三方API调用平台:
这里尝试几个免费或者赠送调用次数的平台。
OpenRouter
OpenRouter的方式是注册并创建API Key的形式调用,官方推荐的openai-python代码如下:
from openai import OpenAIclient = OpenAI(base_url="https://openrouter.ai/api/v1",api_key="<OPENROUTER_API_KEY>",
)completion = client.chat.completions.create(extra_headers={"HTTP-Referer": "<YOUR_SITE_URL>", # Optional. Site URL for rankings on openrouter.ai."X-Title": "<YOUR_SITE_NAME>", # Optional. Site title for rankings on openrouter.ai.},extra_body={},model="deepseek/deepseek-r1:free",messages=[{"role": "user","content": "What is the meaning of life?"}]
)
print(completion.choices[0].message.content)
这里我给他修改为了代GUI的形式:
from openai import OpenAI
import tkinter as tk
from tkinter import scrolledtext, ttk
import threadingclient = OpenAI(base_url="https://openrouter.ai/api/v1",api_key="你的key"
)class ChatApp:def __init__(self, root):self.root = rootself.root.title("DS AI助手")self.messages = []self.generating = Falseself.stop_requested = False# 创建界面组件self.create_widgets()def create_widgets(self):# 主界面布局main_frame = ttk.Frame(self.root)main_frame.pack(padx=10, pady=10, fill=tk.BOTH, expand=True)# 对话显示区域self.chat_display = scrolledtext.ScrolledText(main_frame, wrap=tk.WORD, state='disabled',font=('Microsoft YaHei', 10), height=20)self.chat_display.pack(fill=tk.BOTH, expand=True)# 控制面板control_frame = ttk.Frame(main_frame)control_frame.pack(fill=tk.X, pady=5)# 输入框self.input_box = tk.Text(control_frame, height=4,font=('Microsoft YaHei', 10), wrap=tk.WORD)self.input_box.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(0, 5))# 按钮框架btn_frame = ttk.Frame(control_frame)btn_frame.pack(side=tk.RIGHT)# 发送按钮self.send_btn = ttk.Button(btn_frame, text="发送",command=self.start_generation, width=8)self.send_btn.pack(pady=2)# 停止按钮self.stop_btn = ttk.Button(btn_frame, text="停止",command=self.stop_generation, width=8, state=tk.DISABLED)self.stop_btn.pack(pady=2)# 绑定快捷键self.root.bind('<Return>', lambda e: self.start_generation())self.root.bind('<Shift-Return>', lambda e: self.insert_newline())def insert_newline(self):self.input_box.insert(tk.INSERT, '\n')return "break"def update_display(self, role, content):self.chat_display.configure(state='normal')tag = 'user' if role == "You" else 'assistant'self.chat_display.insert(tk.END, f"{role}: ", ('bold', tag))self.chat_display.insert(tk.END, f"{content}\n\n", tag)self.chat_display.configure(state='disabled')self.chat_display.see(tk.END)def start_generation(self):if self.generating:returnuser_input = self.input_box.get("1.0", tk.END).strip()if not user_input:returnself.input_box.delete("1.0", tk.END)self.messages.append({"role": "user", "content": user_input})self.update_display("You", user_input)self.generating = Trueself.stop_requested = Falseself.send_btn.config(state=tk.DISABLED)self.stop_btn.config(state=tk.NORMAL)threading.Thread(target=self.generate_response, daemon=True).start()def stop_generation(self):self.stop_requested = Truedef generate_response(self):full_response = ""try:completion = client.chat.completions.create(model="deepseek/deepseek-r1:free",messages=self.messages,extra_headers={"HTTP-Referer": "http://localhost","X-Title": "My Chat App"},extra_body={},stream=True)self.root.after(0, self.update_display, "Assistant", "")for chunk in completion:if self.stop_requested:breakif chunk.choices[0].delta.content:content = chunk.choices[0].delta.contentfull_response += contentself.root.after(0, self.append_response, content)except Exception as e:full_response = f"发生错误: {str(e)}"self.root.after(0, self.update_display, "System", full_response)finally:if not self.stop_requested and full_response:self.messages.append({"role": "assistant", "content": full_response})self.root.after(0, self.reset_ui)def append_response(self, content):self.chat_display.configure(state='normal')self.chat_display.insert(tk.END, content, 'assistant')self.chat_display.configure(state='disabled')self.chat_display.see(tk.END)def reset_ui(self):self.generating = Falseself.send_btn.config(state=tk.NORMAL)self.stop_btn.config(state=tk.DISABLED)if __name__ == "__main__":root = tk.Tk()root.geometry("800x600")# 配置文本样式root.style = ttk.Style()root.style.configure('bold.TLabel', font=('Microsoft YaHei', 10, 'bold'))app = ChatApp(root)# 配置标签样式app.chat_display.tag_configure('bold', font=('Microsoft YaHei', 10, 'bold'))app.chat_display.tag_configure('user', foreground='#2c7fb8')app.chat_display.tag_configure('assistant', foreground='#2ca25f')app.chat_display.tag_configure('system', foreground='#636363')root.mainloop()
OpenRouter 的体验效果还不错,免费且响应还算及时:
日常回答:
代码检查:
提示词生成:
Nvidia
这里也进行了 英伟达API的测试,不完全免费不过送1k积分,所以可以进行尝试,它的操作也是先申请API key,然后官方给出了如下代码:
from openai import OpenAIclient = OpenAI(base_url = "https://integrate.api.nvidia.com/v1",api_key = ""
)completion = client.chat.completions.create(model="deepseek-ai/deepseek-r1",messages=[{"role":"user","content":"Which number is larger, 9.11 or 9.8?"}],temperature=0.6,top_p=0.7,max_tokens=4096,stream=True
)for chunk in completion:if chunk.choices[0].delta.content is not None:print(chunk.choices[0].delta.content, end="")
使用了OpenAI的客户端,调用了NVIDIA的API,模型是deepseek-r1。原来的代码里,messages是一个固定的列表,里面只有一个用户的问题:“Which number is larger, 9.11 or 9.8?”。想要让这个代码能够接受用户的输入,动态地构建对话内容。将其改为交互式输入对话的版本,一个带UI的版本,UI包括输入框、发送按钮和停止按钮。最后修改后的代码如下:
from openai import OpenAI
import tkinter as tk
from tkinter import scrolledtext, ttk
import threadingclient = OpenAI(base_url="https://integrate.api.nvidia.com/v1",api_key="" # 替换为你的实际API密钥
)class ChatApp:def __init__(self, root):self.root = rootself.root.title("DS AI助手")self.messages = []self.generating = Falseself.stop_requested = False# 创建界面组件self.create_widgets()def create_widgets(self):# 对话显示区域self.chat_display = scrolledtext.ScrolledText(self.root, wrap=tk.WORD, state='disabled', height=20, width=60)self.chat_display.pack(padx=10, pady=10, fill=tk.BOTH, expand=True)# 输入区域框架input_frame = ttk.Frame(self.root)input_frame.pack(padx=10, pady=5, fill=tk.X)# 用户输入框self.user_input = tk.Text(input_frame, height=4, width=50)self.user_input.pack(side=tk.LEFT, fill=tk.X, expand=True)# 按钮框架button_frame = ttk.Frame(input_frame)button_frame.pack(side=tk.RIGHT, padx=5)# 发送按钮self.send_btn = ttk.Button(button_frame, text="发送", command=self.start_generation)self.send_btn.pack(pady=2, fill=tk.X)# 停止按钮self.stop_btn = ttk.Button(button_frame, text="停止", command=self.stop_generation, state='disabled')self.stop_btn.pack(pady=2, fill=tk.X)def update_display(self, role, content):self.chat_display.configure(state='normal')self.chat_display.insert(tk.END, f"{role}: {content}\n\n")self.chat_display.configure(state='disabled')self.chat_display.see(tk.END)def start_generation(self):if self.generating:returnuser_text = self.user_input.get("1.0", tk.END).strip()if not user_text:returnself.user_input.delete("1.0", tk.END)self.messages.append({"role": "user", "content": user_text})self.update_display("您", user_text)self.generating = Trueself.stop_requested = Falseself.send_btn.config(state='disabled')self.stop_btn.config(state='normal')threading.Thread(target=self.generate_response, daemon=True).start()def stop_generation(self):self.stop_requested = Truedef generate_response(self):full_response = ""try:completion = client.chat.completions.create(model="deepseek-ai/deepseek-r1",messages=self.messages,temperature=0.6,top_p=0.7,max_tokens=4096,stream=True)self.root.after(0, self.update_display, "AI回答", "")for chunk in completion:if self.stop_requested:breakif chunk.choices[0].delta.content:content = chunk.choices[0].delta.contentfull_response += contentself.root.after(0, self.append_response, content)except Exception as e:full_response = f"发生错误: {str(e)}"self.root.after(0, self.update_display, "System", full_response)finally:if not self.stop_requested and full_response:self.messages.append({"role": "assistant", "content": full_response})self.root.after(0, self.reset_ui)def append_response(self, content):self.chat_display.configure(state='normal')self.chat_display.insert(tk.END, content)self.chat_display.configure(state='disabled')self.chat_display.see(tk.END)def reset_ui(self):self.generating = Falseself.send_btn.config(state='normal')self.stop_btn.config(state='disabled')if __name__ == "__main__":root = tk.Tk()app = ChatApp(root)root.mainloop()
英伟达api的测试就一言难难尽,刚开始问答很正常,不过后续就一直等待、要么报错:
后来我去网站上直接提问了两次发现,排队极其恐怖:
也有带队1500+的:
其他在线使用
目前这种方式最省事,这里是B站【秋芝2046】整理的DeepSeek 第三方在线使用平台,包含 腾讯元宝
、跃问、AskManyAI、问小白、腾讯云-大模型知识引擎、商汤大装置、支付宝百宝箱、钉钉、ima、中国移动云盘等多方平台,同时【秋芝2046】还整理了地址、收费情况、响应速度、多轮对话等详细信息。
这些第三方平台如果免费的话,只需要注册登录就能快速使用。
直达链接:https://ccnk05wgo092.feishu.cn/wiki/WeGmwNVgLi9SFtkfwnacu6H5nfd?table=tblfZlmGJHoAYrQe&view=vewv6xDDG2
相关文章:

DeepSeek服务器繁忙 多种方式继续优雅的使用它
前言 你的DeepSeek最近是不是总是提示”服务器繁忙,请稍后再试。”,尝试过了多次重新生成后,还是如此。之前DeepSeek官网连续发布2条公告称,DeepSeek线上服务受到大规模恶意攻击。该平台的对话框疑似遭遇了“分布式拒绝服务攻击”࿰…...
Bootstrap Blazor UI 中 <Table> 组件 <TableColumn> 使用备忘01:EF Core 外码处理
应用场景:将外码转换为对应的文本进行显示、编辑。 例如,有一个【用户】表,其中有一个【用户类型ID】字段;另有一个【用户类型】表,包含【ID】、【名称】等字段。现在要求在 <Table> 组件显示列表中,…...

云原生数据抽象与弹性加速:Fluid开源系统的技术解析
在云计算、大数据和人工智能技术迅猛发展的背景下,云原生应用的数据处理和存储需求日益增长。南京大学顾荣教授及其团队开发的Fluid开源系统,旨在解决云原生环境中数据密集型应用面临的挑战,如计算存储分离、数据本地化、无状态服务与有状态计…...

【Python爬虫(29)】爬虫数据生命线:质量评估与监控全解
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...

VSCode AI提效工具,通义灵码前端开发体验
安装 安装依旧很简单,vs code拓展插件中搜索就出来了,记住下边这个图标。 亮点 新接入了deepseek-v3\deepseek-r1模型,不仅支持智能问答,而且增加了AI程序员,可以直接按照完成编码任务,修改优化代码&am…...
在实时大数据处理中如何平衡延迟和吞吐量
在实时大数据处理中,平衡延迟和吞吐量是一个至关重要的挑战。以下是一些实用的策略和技巧,有助于在这两者之间找到最佳平衡点: 一、技术层面的平衡策略 并行处理: 通过同时处理多个任务来提高吞吐量。在实时大数据处理环境中&am…...

一款开源可独立部署的知识管理工具!!
今天给大家介绍一款开源的知识管理工具——云策文档。 介绍 该系统通过独立的知识库空间,结构化地组织在线协作文档,实现知识的积累与沉淀,促进知识的复用与流通。同时支持多人协作文档。 云策文档设计了明确的权限管理,方便文档…...

罗德与施瓦茨SMB100A,一款卓越的中档模拟射频/微波信号源
罗德与施瓦茨R&S SMB100A 微波信号发生器 型 号:SMB100A 名 称:微波信号发生器 品 牌:罗德与施瓦茨(R&S) 分 类:射频测试设备 > 射频信号源 > 矢量信号源 产品属性:主机 简 述&…...

java毕业设计之医院门诊挂号系统(源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的医院门诊挂号系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 医院门诊挂号系统的主要使用者…...

【Scrapy】Scrapy教程7——存储数据
上一节我们对爬虫程序的默认回调函数parse做了改写,提取的数据可以在Scrapy的日志中打印出来了,光打印肯定是不行的,还需要把数据存储,数据可以存到文件,也可以存到数据库,我们一一来看。 存储数据到文件 首先我们看看如何将数据存储到文件,在讲[[【Scrapy】Scrapy教程…...
QILSTE H4-108TCG/5M高亮翠绿光LED灯珠 发光二极管LED
H4-108TCG/5M:高亮纯绿光LED的复杂特性与突发性挑战 在现代电子设备的复杂世界中,H4-108TCG/5M型号的高亮纯绿光LED以其独特的参数和复杂的特性脱颖而出。这款LED不仅在尺寸上做到了极致精巧,还在光电参数、可靠性测试和实际应用中展现出令人…...

Python中numpy.loadtxt()函数的用法
numpy模块的loadtxt()函数用于快速读取简单格式文件的内容,常用于csv文件的读取。 1 loadtxt()函数的格式 loadtxt()函数的格式如图1所示,该函数的返回值是读取到的数据,其类型为numpy.ndarray。 图1 loadtxt()函数的格式 其中,…...

Windows系统安装GPU驱动/CUDA/cuDNN
1、驱动安装步骤 1.1下载驱动 通过浏览器访问Download The Official NVIDIA Drivers | NVIDIA 1.2安装驱动 1.3检查 打开【设备管理器】—【显示适配器】 2、CUDA安装步骤 2.1下载CUDA 官网链接CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA 开发者 2.2安装CUDA 3、cuDN…...
nessus kali 卸载
安装请看这篇Nessus漏扫工具的安装与使用(Windows与Linux)_nessus license key-CSDN博客 Download Tenable Nessus | Tenable 离线安装 Tenable Nessus (Tenable Nessus 10.8) systemctl stop nessusd Remove Nessus Run the …...

使用Geotools读取DEM地形数据实战-以湖南省30米数据为例
目录 前言 一、DEM地形数据介绍 1、DEM数据简介 2、DEM应用领域 3、QGIS中读取DEM数据 二、GeoTools解析地形 1、Maven中依赖引用 2、获取数据基本信息 三、总结 前言 随着全球数字化进程的加速,各类地理空间数据呈爆炸式增长,DEM 数据作为其中的…...

基于WebGIS技术的校园地图导航系统架构与核心功能设计
本文专为IT技术人员、地理信息系统(GIS)开发者、智慧校园解决方案架构师及相关领域的专业人士撰写。本文提出了一套基于WebGIS技术的校园地图导航系统构建与优化方案,旨在为用户提供高效、智能、个性化的导航体验。如需获取校园地图导航系统技…...
《养生方法》(一)
一、基础生活习惯 饮食管理 均衡营养:每日摄入多彩蔬果(如胡萝卜、西兰花、柑橘类)补充维生素C/E及膳食纤维;搭配鱼类、豆制品等优质蛋白质,保障免疫系统正常运作 清淡规律:减少高油盐食物…...
Python常见面试题的详解9
1. 如何找出整数数组中第二大的数 要点 定义一个函数用于在整数数组里找出第二大的数。 若数组元素少于 2 个,则返回 None。 借助两个变量 first 和 second 来跟踪最大数和第二大数。 可以添加异常处理,以应对输入非整数数组的情况。 若数组包含重复…...
MAVSDK - Custom Mavlink处理
编译命令中开启 Custom Mavlink 编译 cmake -DCMAKE_BUILD_TYPERelease -DMAVLINK_DIALECTcustom -DBUILD_CUSTOM_MAVLINKON -DCUSTOM_MAVLINK_PATH"G:/Custom_Mavlink" -DBUILD_CUSTOM_PLUGINSON -DENABLED_CUSTOM_PLUGINS"speaker" -DENABLED_PLUGINS&qu…...

java每日精进 2.13 MySql迁移人大金仓
1.迁移数据库 1. 数据库创建语句 MySQL: CREATE DATABASE dbname; 人大金仓(Kingbase): 在人大金仓中,CREATE DATABASE 的语法通常相同,但可能需要特别注意字符集的指定(如果涉及到多语言支持…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...