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请求过快的问题,提交工单询问是“已知问题”,因为请求用户过多,可以通过付费解决这个问题。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
