DeepSeek可以说是目前最火的AI大模型了,从1月份推出V3版本我就开始使用DeepSeek作为网站文章生成助手来使用,当时还没有这么火,用的人也比较少,服务器也不会出现任何问题,所以当时调用直接从deepseek官方连接调用API就可以,但是现在的话基本上除了提示服务器繁忙,还是提示繁忙。不过好在其他大模型平台都把DeepSeek部署到了自己平台上,毕竟因为DeepSeek开源,其实如果电脑配置或者服务器配置给力,大家也可以自行把DeepSeek搭建部署到本地或者服务器。
阿里巴巴的通义大模型和百度千帆大模型都接入部署了deepseek,而且都有免费得tokens使用,百度千帆甚至免费两周(目前还有一周时间),即使开始收费,百度千帆给出的价格和DeepSeek官方的优惠价是一样的,性价比还是挺高的,而且蒸馏版本都是免费得(阿里通义也免费),所以我在使用的时候是把阿里通义的tokens使用完后,又使用了百度千帆。这里给大家讲一下通过OpenAI和HTTP请求两种方式调用DeepSeek生成内容,以百度千帆大模型为例。
这里说一下,百度千帆调用,首先需要获取百度千帆大模型的api_key,如果通过HTTP请求获取,也是需要获取api_key,当然也可以使用Access Key和Secret Key,为了方便,这里以api_key为例去写的代码,基本和官方是一样的。其实通过OpenAI SDK无论是千帆、通义还是DeepSeek平台,都是一样的,唯一的是调用的API地址和密钥(API Key)不同,以下为OpenAI SDK和HTTP两种请求代码
# 通过千帆调用deepseek # apiKey 获取地址: https://console.bce.baidu.com/iam/#/iam/apikey/list # 支持的模型列表: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Fm2vrveyu from openai import OpenAI client = OpenAI( # 千帆的API地址 base_url='https://qianfan.baidubce.com/v2', api_key='bce-v3/ALTAK-GfkdQ96YR***********************eca024089b' ) word = '输入的关键词' skword = '指定关键词的角色或者指令' chat_completion = client.chat.completions.create( # 模型的版本 model="deepseek-v3", messages=[{'role': 'system', 'content': skword}, {'role': 'user', 'content': words}] ) # 获取响应结果 print(chat_completion) # 获取的最后的结果,markdown格式 print(chat_completion.choices[0].message.content)
上面是从OpenAI进行调用,如果是通过deepseek去调用,把base_url换成deepseek官网地址和api_key密钥(deepseek的密钥是sk开头)即可,下面是通过HTTP API方式进行请求获取。
import requests import json import markdown import re word = '输入的关键词' def main(): # 千帆的API地址 url = "https://qianfan.baidubce.com/v2/chat/completions" skword = '指定关键词的角色或者指令' payload = json.dumps({ # 模型名称 是v3或者是r1 "model": "deepseek-r1", "messages": [ {"role": "system", "content":skword}, {"role": "user", "content": words}, ], "disable_search": False, "enable_citation": False }, ensure_ascii=False) headers = { 'Content-Type': 'application/json', # Authorization 需要加入鉴权Bearer 空格然后加入你的密钥 'Authorization': 'Bearer bce-v3/ALTAK-Gf*********************************a024089b' } # 发送请求 response = requests.request("POST", url, headers=headers, data=payload.encode("utf-8")) # 获取响应结果 jsresult = response.text # 转换格式打印出来 result = json.loads(jsresult) # 获取的最后的结果,markdown格式 content = result['choices'][0]['message']['content'] print(content) main()
不过需要注意的是,目前通过百度千帆大模型也好还是阿里通义大模型也好,调用DeepSeek也会出现服务器繁忙,比如http 429的错误代码,即RPM请求过快的问题,提交工单询问是“已知问题”,因为请求用户过多,可以通过付费解决这个问题。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。