找回密码
 立即注册
首页 业界区 安全 基于Python程序访问本地部署的DeepSeek和硅基流动DeepSe ...

基于Python程序访问本地部署的DeepSeek和硅基流动DeepSeek API

摹熹 2025-6-1 20:23:01
前排提醒:
1. 本地通过Ollama部署DeepSeek,部署版本为 deepseek-r1:1.5b,若还未进行本地部署,可以参考博客Windows系统上使用Ollama本地部署DeepSeek
2. 线上API使用的是硅基流动(siliconflow)的DeepSeek API,模型名称为 deepseek-ai/DeepSeek-R1
一、Python访问本地部署的DeepSeek

首先要注意,Ollama本地部署DeepSeek服务的默认端口为11434,API接口为 http://127.0.0.1:11434/api/chat ,因此构造好问题、请求参数,接着发送POST请求,最后解析返回结果即可。
可以直接参考以下Python代码:
  1. import requests
  2. # Ollama中提供的chat功能的API地址
  3. url = 'http://127.0.0.1:11434/api/chat'
  4. # 要发送的数据
  5. question = "你好!"
  6. data = {
  7.     "model": "deepseek-r1:1.5b",
  8.     "messages": [{
  9.         "role": "user",
  10.         "content": question}],
  11.     "stream": False
  12. }
  13. # 发送POST请求
  14. response = requests.post(url, json=data)
  15. # 打印模型的输出文本
  16. print(response.json()["message"]["content"])
复制代码
运行结果如下:
1.png

其中,question 是用户提出的问题,response.json()["message"]["content"] 是 DeepSeek 的回复。
二、Python访问硅基流动DeepSeek API

通过硅基流动API访问DeepSeek和访问本地部署DeepSeek的方式有所不同,可以直接参考以下Python代码:
  1. import requests
  2. import json
  3. url = "https://api.siliconflow.cn/v1/chat/completions"
  4. question = "你好!"
  5. payload = {
  6.     "model": "deepseek-ai/DeepSeek-R1",
  7.     "messages": [
  8.         {
  9.             "role": "user",
  10.             "content": question
  11.         }
  12.     ],
  13.     "stream": False,
  14.     "max_tokens": 512,
  15.     "stop": None,
  16.     "temperature": 0.7,
  17.     "top_p": 0.7,
  18.     "top_k": 50,
  19.     "frequency_penalty": 0.5,
  20.     "n": 1,
  21.     "response_format": {"type": "text"},
  22.     "tools": [
  23.         {
  24.             "type": "function",
  25.             "function": {
  26.                 "description": "<string>",
  27.                 "name": "<string>",
  28.                 "parameters": {},
  29.                 "strict": False
  30.             }
  31.         }
  32.     ]
  33. }
  34. headers = {
  35.     "Authorization": "Bearer <token>",
  36.     "Content-Type": "application/json"
  37. }
  38. response = requests.request("POST", url, json=payload, headers=headers)
  39. print(json.loads(response.text)["choices"][0]["message"]["content"])
复制代码
其中, 要替换为自己在硅基流动官网账户上的 API KEY ,question 是用户提出的问题,json.loads(response.text)["choices"][0]["message"]["content"] 是 DeepSeek 的回复。
我将  替换为自己的 API KEY 后,运行Python程序的结果如下:
2.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册