设计网站源代码,网站制作公司哪家专业,做房产网站怎么样,wordpress主题loading动画前言
你的DeepSeek最近是不是总是提示”服务器繁忙,请稍后再试。”#xff0c;尝试过了多次重新生成后#xff0c;还是如此。之前DeepSeek官网连续发布2条公告称#xff0c;DeepSeek线上服务受到大规模恶意攻击。该平台的对话框疑似遭遇了“分布式拒绝服务攻击”#xff0…前言
你的DeepSeek最近是不是总是提示”服务器繁忙,请稍后再试。”尝试过了多次重新生成后还是如此。之前DeepSeek官网连续发布2条公告称DeepSeek线上服务受到大规模恶意攻击。该平台的对话框疑似遭遇了“分布式拒绝服务攻击”DDos大量分布在不同地点的机器对目标进行攻击消耗被攻击对象的网络带宽或系统资源导致其网络或系统不胜负荷而无法提供正常的网络服务。特别对我们这种有点依赖AI审查、修改和优化代码的码农确实很影响体验感了所以有没有一种方法能更顺畅的使用到DeepSeek本文提供几种思路来实现。 DS Api
这个是DeepSeek官方的开发平台创建API key 后可以使用以下样例脚本的来访问 DeepSeek API。样例为非流式输出您可以将 stream 设置为 true 来使用流式输出。
# Please install OpenAI SDK first: pip3 install openaifrom openai import OpenAIclient OpenAI(api_keyDeepSeek API Key, base_urlhttps://api.deepseek.com)response client.chat.completions.create(modeldeepseek-chat,messages[{role: system, content: You are a helpful assistant},{role: user, content: Hello},],streamFalse
)print(response.choices[0].message.content)模型 价格细节如下 1.deepseek-chat 模型已经升级为 DeepSeek-V3deepseek-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_urlhttps://openrouter.ai/api/v1,api_keyOPENROUTER_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{},modeldeepseek/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_urlhttps://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(padx10, pady10, filltk.BOTH, expandTrue)# 对话显示区域self.chat_display scrolledtext.ScrolledText(main_frame, wraptk.WORD, statedisabled,font(Microsoft YaHei, 10), height20)self.chat_display.pack(filltk.BOTH, expandTrue)# 控制面板control_frame ttk.Frame(main_frame)control_frame.pack(filltk.X, pady5)# 输入框self.input_box tk.Text(control_frame, height4,font(Microsoft YaHei, 10), wraptk.WORD)self.input_box.pack(sidetk.LEFT, filltk.X, expandTrue, padx(0, 5))# 按钮框架btn_frame ttk.Frame(control_frame)btn_frame.pack(sidetk.RIGHT)# 发送按钮self.send_btn ttk.Button(btn_frame, text发送,commandself.start_generation, width8)self.send_btn.pack(pady2)# 停止按钮self.stop_btn ttk.Button(btn_frame, text停止,commandself.stop_generation, width8, statetk.DISABLED)self.stop_btn.pack(pady2)# 绑定快捷键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 breakdef update_display(self, role, content):self.chat_display.configure(statenormal)tag user if role You else assistantself.chat_display.insert(tk.END, f{role}: , (bold, tag))self.chat_display.insert(tk.END, f{content}\n\n, tag)self.chat_display.configure(statedisabled)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(statetk.DISABLED)self.stop_btn.config(statetk.NORMAL)threading.Thread(targetself.generate_response, daemonTrue).start()def stop_generation(self):self.stop_requested Truedef generate_response(self):full_response try:completion client.chat.completions.create(modeldeepseek/deepseek-r1:free,messagesself.messages,extra_headers{HTTP-Referer: http://localhost,X-Title: My Chat App},extra_body{},streamTrue)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(statenormal)self.chat_display.insert(tk.END, content, assistant)self.chat_display.configure(statedisabled)self.chat_display.see(tk.END)def reset_ui(self):self.generating Falseself.send_btn.config(statetk.NORMAL)self.stop_btn.config(statetk.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(modeldeepseek-ai/deepseek-r1,messages[{role:user,content:Which number is larger, 9.11 or 9.8?}],temperature0.6,top_p0.7,max_tokens4096,streamTrue
)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_urlhttps://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, wraptk.WORD, statedisabled, height20, width60)self.chat_display.pack(padx10, pady10, filltk.BOTH, expandTrue)# 输入区域框架input_frame ttk.Frame(self.root)input_frame.pack(padx10, pady5, filltk.X)# 用户输入框self.user_input tk.Text(input_frame, height4, width50)self.user_input.pack(sidetk.LEFT, filltk.X, expandTrue)# 按钮框架button_frame ttk.Frame(input_frame)button_frame.pack(sidetk.RIGHT, padx5)# 发送按钮self.send_btn ttk.Button(button_frame, text发送, commandself.start_generation)self.send_btn.pack(pady2, filltk.X)# 停止按钮self.stop_btn ttk.Button(button_frame, text停止, commandself.stop_generation, statedisabled)self.stop_btn.pack(pady2, filltk.X)def update_display(self, role, content):self.chat_display.configure(statenormal)self.chat_display.insert(tk.END, f{role}: {content}\n\n)self.chat_display.configure(statedisabled)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(statedisabled)self.stop_btn.config(statenormal)threading.Thread(targetself.generate_response, daemonTrue).start()def stop_generation(self):self.stop_requested Truedef generate_response(self):full_response try:completion client.chat.completions.create(modeldeepseek-ai/deepseek-r1,messagesself.messages,temperature0.6,top_p0.7,max_tokens4096,streamTrue)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(statenormal)self.chat_display.insert(tk.END, content)self.chat_display.configure(statedisabled)self.chat_display.see(tk.END)def reset_ui(self):self.generating Falseself.send_btn.config(statenormal)self.stop_btn.config(statedisabled)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?tabletblfZlmGJHoAYrQeviewvewv6xDDG2