欢迎光临
我们一直在努力

(二)DeepSeek API基础调用

「接入 DeepSeek API」的具体操作步骤

一、兼容版本确认(无需新增依赖,复用现有包)

DeepSeek API 仅需依赖已安装的requests==2.32.3(之前已部署),无需额外安装其他包,直接复用现有环境即可。

二、接入 DeepSeek API 的具体操作步骤

步骤 1:获取 DeepSeek API Key(前置准备)
  • 打开 DeepSeek 官网:https://www.deepseek.com/
  • 注册 / 登录账号,进入「API 密钥」页面(通常在个人中心→开发者设置);
  • 创建新的 API Key,复制并保存(后续代码中会用到);
  • 步骤 2:补充项目目录结构并调整(方便后期维护)

    在已有的ai_ui_test项目中,新增 API 工具类文件:

    ai_ui_test/
    ├── utils/ # 新建:工具类目录(存放通用功能)
    │ └── deepseek_api.py # 新建:DeepSeek API工具类
    ├── test_cases/ # 新建:测试用例目录(存放所有测试文件)
    │ ├── test_env.py # 迁移:原test_env.py(Playwright环境测试)
    │ └── test_deepseek.py # 新建:DeepSeek API测试用例
    ├── reports/ # 新建:测试报告目录(统一存放报告)
    │ └── test_report.html # 迁移:原test_report.html
    └── main.py # 现有主文件(保留,作为入口)

    避坑:如果调整目录结构,使用pytest运行test_env.py等脚本时,需要加上目录结构,否则会报找不到文件错误,命令如下:

    pytest ./test_cases/test_env.py -v –html=./reports/test_report.html

    步骤 3:编写 DeepSeek API 通用调用工具类

    打开utils/deepseek_api.py,粘贴以下代码(封装 API 调用逻辑,方便后续复用):

    # utils/deepseek_api.py
    import requests
    from typing import List, Dict

    class DeepSeekAPI:
    def __init__(self, api_key: str):
    """初始化DeepSeek API客户端"""
    self.api_key = api_key
    self.base_url = "https://api.deepseek.com/v1/chat/completions"
    # 请求头(固定格式,需携带API Key)
    self.headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {self.api_key}"
    }
    # 默认模型(DeepSeek基础对话模型,可根据需求切换)
    self.default_model = "deepseek-chat"

    def send_message(self, messages: List[Dict], model: str = None) -> str:
    """
    调用DeepSeek API发送对话请求
    :param messages: 对话历史,格式示例:[{"role": "user", "content": "你好"}]
    :param model: 模型名称,默认用deepseek-chat
    :return: API返回的回答内容
    """
    try:
    # 构造请求参数
    payload = {
    "model": model or self.default_model,
    "messages": messages,
    "temperature": 0.7 # 随机性,0-1之间,越小回答越稳定
    }
    # 发送POST请求(复用已安装的requests==2.32.3)
    response = requests.post(
    url=self.base_url,
    headers=self.headers,
    json=payload,
    timeout=30 # 超时时间30秒,避免网络延迟
    )
    response.raise_for_status() # 若请求失败(如401/404),抛出异常
    # 解析响应,提取回答内容
    result = response.json()
    return result["choices"][0]["message"]["content"]
    except Exception as e:
    raise Exception(f"DeepSeek API调用失败:{str(e)}")

    步骤 4:编写 DeepSeek API 测试用例(验证调用成功)

    打开test_cases/test_deepseek.py,粘贴以下代码(用 pytest 验证 API 是否能正常响应):

    # test_cases/test_deepseek.py
    import pytest
    import sys
    import os

    # 把项目根目录(ai_ui_test)加入Python的模块搜索路径
    # __file__是当前文件(test_deepseek.py)的路径,dirname两次得到项目根
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

    from utils.deepseek_api import DeepSeekAPI

    # 替换为你自己的DeepSeek API Key(建议通过环境变量配置,这里先直接写)
    DEEPSEEK_API_KEY = "你的DeepSeek API Key"

    def test_deepseek_api_basic_call():
    """验证DeepSeek API基础调用是否正常"""
    # 初始化API客户端
    deepseek = DeepSeekAPI(api_key=DEEPSEEK_API_KEY)
    # 构造对话请求(用户提问)
    messages = [
    {"role": "user", "content": "请简单介绍Playwright自动化测试工具"}
    ]
    try:
    # 调用API获取回答
    answer = deepseek.send_message(messages)
    print(f"✅ DeepSeek API调用成功,回答:\\n{answer}")
    # 断言回答不为空(验证响应有效)
    assert len(answer.strip()) > 0, "DeepSeek API返回的回答为空!"
    except Exception as e:
    print(f"❌ DeepSeek API调用失败:{str(e)}")
    raise # 抛出异常,标记用例失败

    步骤 5:执行测试并验证结果
  • 打开 PyCharm 终端(确保激活.venv虚拟环境);
  • 执行以下命令(-s显示 print 内容,验证 API 响应):
  • (.venv) PS D:\\ai_ui_test> pytest test_cases/test_deepseek.py -s -v

  • 验证成功标志:
    • 终端显示✅ DeepSeek API调用成功,回答:xxx;
    • 最后输出1 passed,无报错;
    • 回答内容是关于 Playwright 的介绍(符合提问要求)。
  • 注意事项:
  • 如果运行结果出现红色报错提示“DeepSeek API调用失败:402 Client Error: Payment Required”,说明账户余额已用完。可到官网查询确认https://platform.deepseek.com/

    三、关键注意事项(避坑)

  • API Key 安全:实际项目中不要直接写死 API Key,建议通过环境变量配置(如os.getenv("DEEPSEEK_API_KEY"));
  • 网络问题:确保你的网络能访问 DeepSeek API(国内网络可直接访问,无需科学上网);
  • 模型选择:若需要更强的代码能力,可将default_model改为deepseek-coder-v2(需确认 DeepSeek 账号是否支持)。
  • 总结

  • 兼容版本:复用现有requests==2.32.3,无需新增依赖,与 Python 3.14.2 完全兼容;
  • 核心操作:通过封装DeepSeekAPI工具类,实现 API 的复用调用,结合 pytest 验证调用有效性;
  • 后续扩展:此工具类可直接在后续任务(如 Prompt 模板设计、AI 生成测试用例)中复用,无需重复写 API 调用逻辑。
  • 赞(0)
    未经允许不得转载:171主机测评 » (二)DeepSeek API基础调用
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址