【AI】部署及调用deepseek和qwen等大模型

文章目录

  • 1.大模型部署方案
  • 2.官方开发API
    • [2.1 注册并登录API开发平台](#2.1 注册并登录API开发平台)
    • [2.2 创建API key](#2.2 创建API key)
    • [2.3 调用deepseek官方API](#2.3 调用deepseek官方API)
      • [2.3.1 使用Apifox调用](#2.3.1 使用Apifox调用)
        • [2.3.1.1 下载并安装Apifox](#2.3.1.1 下载并安装Apifox)
        • [2.3.1.2 Apifox调用](#2.3.1.2 Apifox调用)
      • [2.3.2 使用代码调用](#2.3.2 使用代码调用)
        • [2.3.2.1 安装python和pip](#2.3.2.1 安装python和pip)
        • [2.3.2.2 python调用](#2.3.2.2 python调用)
  • 3.云服务平台
    • [3.1 注册并登录云服务平台](#3.1 注册并登录云服务平台)
    • [3.2 创建API key](#3.2 创建API key)
    • [3.3 调用阿里云百炼平台API](#3.3 调用阿里云百炼平台API)
      • [3.3.1 使用Apifox调用](#3.3.1 使用Apifox调用)
      • [3.3.2 使用代码调用](#3.3.2 使用代码调用)
  • 4.本地部署
    • [4.1 下载并安装ollama](#4.1 下载并安装ollama)
      • [4.1.1 下载ollama](#4.1.1 下载ollama)
      • [4.1.2 默认安装ollama](#4.1.2 默认安装ollama)
      • [4.1.3 自定义安装ollama](#4.1.3 自定义安装ollama)
    • [4.2 部署deepseek大模型](#4.2 部署deepseek大模型)
    • [4.3 调用本地deepseek大模型](#4.3 调用本地deepseek大模型)
      • [4.3.1 使用Apifox调用](#4.3.1 使用Apifox调用)
      • [4.3.2 使用代码调用](#4.3.2 使用代码调用)

1.大模型部署方案

大模型部署,有三种方案:

  • 官方开发API
    • 优点:前期成本低、无需部署和维护、随时访问
    • 缺点:隐私不能保障、长期成本高、可控性差
  • 云服务平台
    • 优点:前期成本低、无需部署和维护、选择度高
    • 缺点:安全及隐私不能保障、长期成本高
  • 本地部署
    • 优点:数据安全、自主可控、长期成本低
    • 缺点:初始成本高、需长期维护、性能受限

2.官方开发API

2.1 注册并登录API开发平台

主流的大模型(如deepseek等),官方都提供了开发API,无需部署,直接调用访问即可。

以deepseek为例,deepseek官网:https://www.deepseek.com

1.注册并登录API开发平台

2.调用API需要钱,所以我们需要充值,此处我们充个1块钱就行,可以使用很长时间

说明:deepseek的产品定价如下

2.2 创建API key

1.创建API key:创建的时候,记得复制并保存API key的值,因为创建完成后,这个值就看不到了。

2.3 调用deepseek官方API

DeepSeek API 文档:https://api-docs.deepseek.com/zh-cn/

2.3.1 使用Apifox调用

2.3.1.1 下载并安装Apifox

Apifox是一款API设计、开发、测试的一体化协作平台,是项目开发中进行API接口测试的神器

Apifox官网:https://apifox.com/

1.下载并安装Apifox

点击下载后,会得到一个压缩包,解压后得到最新的应用程序,然后再双击即可安装。例如:Apifox-2.8.11.exe

2.安装完成后,默认为英文,点击左下角,切换成中文,然后微信扫码登录Apifox

3.创建一个新项目

2.3.1.2 Apifox调用

DeepSeek API 文档:https://api-docs.deepseek.com/zh-cn/

1.根据DeepSeek API 文档的说明,找到API的请求格式

调用对话API的命令如下:

bash 复制代码
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
        "model": "deepseek-chat",
        "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "Hello!"}
        ],
        "stream": false
      }'

说明: -H后面跟的是请求头,-d后面跟的是请求体

2.打开Apifox,点击快捷请求

3.填写url和请求头

Authorization: Bearer ${DEEPSEEK_API_KEY},其中的 ${DEEPSEEK_API_KEY},需要替换成你刚刚创建的API Key。

4.填写请求体,并点击发送

出现如下图所示,说明请求成功了:

响应体如下:

bash 复制代码
{
    "id": "2e9de3bc-55af-438d-90b0-897f77dd4b7e",
    "object": "chat.completion",
    "created": 1772543577,
    "model": "deepseek-chat",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Hello! How can I assist you today? 😊"
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 12, # 提示词消耗的token数量
        "completion_tokens": 11, # 生成的内容消耗的token数量
        "total_tokens": 23, # 总的消耗的token数量
        "prompt_tokens_details": {
            "cached_tokens": 0
        },
        "prompt_cache_hit_tokens": 0,
        "prompt_cache_miss_tokens": 12
    },
    "system_fingerprint": "fp_eaab8d114b_prod0820_fp8_kvcache"
}

说明:Token用量计算如下

2.3.2 使用代码调用

2.3.2.1 安装python和pip

安装python参考:https://blog.csdn.net/aidijava/article/details/122913538

安装pip参考:https://blog.csdn.net/aidijava/article/details/125630654

2.3.2.2 python调用

1.根据DeepSeek API 文档的说明,找到API的请求格式

2.前置准备

  • 安装openai:pip install openai
  • 配置环境变量:变量名为DEEPSEEK_API_KEY,变量值为之前创建的API KEY

安装openai:

bash 复制代码
pip install openai

配置环境变量:

右键此电脑->属性->系统->高级系统设置->高级->环境变量,在系统变量下,点击新建系统变量,输入以下变量名和变量值后,点击确定即可。

  • 变量名:DEEPSEEK_API_KEY
  • 变量值:创建的API KEY的值

3.调用对话API的代码

python 复制代码
# Please install OpenAI SDK first: `pip3 install openai`
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('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)

运行代码后返回结果如下:

3.云服务平台

3.1 注册并登录云服务平台

以阿里云百炼平台为例,阿里云百炼平台地址:https://bailian.console.aliyun.com/

1.注册并登录:使用阿里系产品扫码(支付宝等),直接登录

2.登录后,需要实名认证,使用支付宝扫码认证

3.阿里云百炼平台会赠送大模型的免费使用额度,每个大模型会赠送百万免费token使用额度

3.2 创建API key

1.点击以下页面,进入创建API Key

2.创建API Key以后,点击复制即可

3.3 调用阿里云百炼平台API

3.3.1 使用Apifox调用

阿里云百炼平台文档:https://bailian.console.aliyun.com/cn-beijing?tab=doc#/doc

1.根据阿里云百炼平台文档的说明,找到API的请求格式,发现有两种请求方式

  • 使用OpenAI兼容-HTTP请求
  • 使用DashScope-HTTP请求

2.使用OpenAI兼容-HTTP请求

命令如下:

bash 复制代码
# ======= 重要提示 =======
# 新加坡和北京地域的API Key不同。获取API Key: https://help.aliyun.com/model-studio/get-api-key
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为: https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions
# === 执行时请删除该注释 ===
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user", 
            "content": "你是谁?"
        }
    ]
}'

打开Apifox,点击快捷请求,按命令的格式,填写请求头和请求体

3.使用DashScope-HTTP请求

命令如下:

bash 复制代码
# ======= 重要提示 =======
# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/model-studio/get-api-key
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === 执行时请删除该注释 ===
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "你是谁?"
            }
        ]
    },
    "parameters": {
        "result_format":"message"
    }
}'

打开Apifox,点击快捷请求,按命令的格式,填写请求头和请求体

3.3.2 使用代码调用

1.根据阿里云百炼平台的API 文档的说明,找到API的请求格式,发现有两种调用方式

  • 使用OpenAIPython SDK调用
  • 使用DashScopePython SDK调用

2.前置准备:

  • 安装openai:pip install openai
  • 安装dashscope:pip install dashscope
  • 配置环境变量:变量名为DASHSCOPE_API_KEY,变量值为之前创建的API KEY

安装openai:

bash 复制代码
pip install openai

安装dashscope:

bash 复制代码
pip install dashscope

配置环境变量:

右键此电脑->属性->系统->高级系统设置->高级->环境变量,在系统变量下,点击新建系统变量,输入以下变量名和变量值后,点击确定即可。

  • 变量名:DASHSCOPE_API_KEY
  • 变量值:创建的API KEY的值

3.使用OpenAIPython SDK调用

python 复制代码
import os
from openai import OpenAI

try:
    client = OpenAI(
        # 若没有配置环境变量,请用阿里云百炼API Key将下行替换为: api_key="sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )

    completion = client.chat.completions.create(
        model="qwen-plus",  # 模型列表: https://help.aliyun.com/model-studio/getting-started/models
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': '你是谁?'}
        ]
    )
    print(completion.choices[0].message.content)
except Exception as e:
    print(f"错误信息:{e}")
    print("请参考文档:https://help.aliyun.com/model-studio/developer-reference/error-code")

运行代码后返回结果如下:

4.使用DashScopePython SDK调用

python 复制代码
import os
from dashscope import Generation
import dashscope 

messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': '你是谁?'}
]
response = Generation.call(
    # 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    model="qwen-plus",   # 模型列表:https://help.aliyun.com/model-studio/getting-started/models
    messages=messages,
    result_format="message"
)

if response.status_code == 200:
    print(response.output.choices[0].message.content)
else:
    print(f"HTTP返回码:{response.status_code}")
    print(f"错误码:{response.code}")
    print(f"错误信息:{response.message}")
    print("请参考文档:https://help.aliyun.com/model-studio/developer-reference/error-code")

运行代码后返回结果如下:

4.本地部署

4.1 下载并安装ollama

4.1.1 下载ollama

ollama是一个在本地运行,管理大语言模型的工具。官网:https://ollama.com

下载ollama程序包:根据自己的电脑操作系统类型,下载对应的程序包

4.1.2 默认安装ollama

默认安装ollama:下载后双击即可默认安装,默认ollama是安装在C盘的。

具体的安装位置如下:

  • ollama的默认安装目录:C:\Users\用户名\AppData\Local\Programs\Ollama
  • 模型的默认安装目录:C:\Users\用户名\.ollama
  • 配置文件的默认安装目录:C:\Users\用户名\AppData\Local\Ollama

4.1.3 自定义安装ollama

1.自定义ollama的存放路径:在ollamaSetup.exe所在目录,打开cmd命令行,执行命令

bash 复制代码
ollamaSetup.exe /DIR=你要安装的目录位置

比如:

bash 复制代码
ollamaSetup.exe /DIR=D:/Applications/ollama

执行命令后,会弹出以下界面,点击Install安装即可:

安装成功后:

2.自定义模型的存放路径:配置环境变量

右键此电脑->属性->系统->高级系统设置->高级->环境变量,在系统变量下,点击新建系统变量,输入以下变量名和变量值后,点击确定即可。

  • 变量名(N):OLLAMA_MODELS
  • 变量值(V):D:\ollama_models

4.2 部署deepseek大模型

1.在ollama官网,搜索对应的大模型

2.选择一个适合自己电脑配置的deepseek版本,此处我选择使用deepseek-r1:1.5b

说明:deepseek-r1后面跟的1.5b,代表了模型的参数量为15亿(1.5 billion),该参数量越大,对电脑配置的要求越高

3.打开cmd,执行命令,安装deepseek-r1:1.5b

bash 复制代码
ollama run deepseek-r1:1.5b

出现如下图,表示安装成功:

此时可以进行对话:

4.3 调用本地deepseek大模型

4.3.1 使用Apifox调用

使用Apifox调用本地deepseek大模型,和调用deepseek官方API类似,区别就在于url的路径不同。

ollama官网文档:https://docs.ollama.com/

1.查询ollama官网文档,发现基本的调用方法的示例如下

而需要调用聊天接口,示例如下:

对比后发现,其实就是基础url从https://api.deepseek.com/chat/completions改为了http://localhost:11434/api/chat

2.使用ollama运行本地deepseek

查看本地安装了哪些AI大模型:

bash 复制代码
ollama list

运行大模型:

bash 复制代码
ollama run deepseek-r1:1.5b

3.打开Apifox,点击快捷请求

发送post请求如下:

url如下:

bash 复制代码
http://localhost:11434/api/chat

请求体如下:

bash 复制代码
{
        "model": "deepseek-r1:1.5b",
        "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "Hello!"}
        ],
        "stream": false
}

返回响应如下:

bash 复制代码
{
    "model": "deepseek-r1:1.5b",
    "created_at": "2026-03-08T14:18:06.9797285Z",
    "message": {
        "role": "assistant",
        "content": "Hello! How can I assist you today? If there's anything specific you'd like to know more about or if you just want some information, feel free to ask.",
        "thinking": "Alright, the user just said \"Hello!\" so I should respond in a friendly and welcoming manner.\n\nI want to make sure they feel comfortable asking anything, whether it's about something specific or general.\n\nMaybe I can mention how I'm here to help with any questions they have.\n\nKeeping it simple and open-ended seems best.\n"
    },
    "done": true,
    "done_reason": "stop",
    "total_duration": 3550788400,
    "load_duration": 112424000,
    "prompt_eval_count": 11,
    "prompt_eval_duration": 119488900,
    "eval_count": 104,
    "eval_duration": 3179326400
}

4.3.2 使用代码调用

1.查询ollama官网文档,发现调用方法的示例如下

2.使用ollama运行本地deepseek

bash 复制代码
ollama run deepseek-r1:1.5b

3.根据示例代码,修改成调用deepseek的代码

python 复制代码
from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1/',
    api_key='ollama',  # required but ignored
)

response = client.chat.completions.create(
    model="deepseek-r1:1.5b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False
)

print(response.choices[0].message.content)

说明:

1.api_key:由于是本地调用的,所以没有api_key的值,但是初始化又必须要,所以随便给个值,这里我们填的ollama

2.model改成你自己本地安装的大模型,比如deepseek-r1:1.5b

运行结果如下:

相关推荐
戴西软件3 小时前
乘用车车门结构侧面碰撞仿真全流程:PreSys + Ansys 实战操作
java·开发语言·python·ui·cae
TG_yunshuguoji3 小时前
阿里云代理商:百炼声音复刻实战 3 步生成专属语音模型
服务器·人工智能·阿里云·云计算
Mintopia3 小时前
从“像素对齐”到“体验对齐”:设计‑代码一致到底怎么验收(简单版)
前端·人工智能
Mintopia3 小时前
别再吹“全自动”:一份 AI‑Coding 上线前的灰度与回滚手册(简单版)
前端·人工智能
Are_You_Okkk_3 小时前
RAG技术落地:开源知识库让知识从存储到主动服务
人工智能·架构·开源
Morning的呀3 小时前
GAN、GNN
人工智能·神经网络·生成对抗网络
啥咕啦呛3 小时前
跟着AI学Java第1天:Java Lambda与Stream试学包
java·开发语言·python
云和数据.ChenGuang3 小时前
PromptTemplate和ChatPromptTemplate的区别是什么呢?
人工智能·langchain·ai编程·chatprompt·langgraph·langsmith
阳光普照世界和平3 小时前
AI已渗透攻击全链条——微软警示下的威胁解读与应对策略
人工智能·microsoft