it编程 > 开发工具 > Pycharm

PyCharm对接DeepSeek大模型的操作流程

4人参与 2025-03-06 Pycharm

步骤 1:pycharm 环境准备

1.创建新项目

打开 pycharm → new project → 选择纯 python 项目 → 指定项目路径 → 创建虚拟环境(建议选 virtualenv)。

2.安装依赖库

打开终端(terminal)执行以下命令:

pip install requests python-dotenv

步骤 2:配置 api key 与环境变量

1.获取 deepseek api key

登录 deepseek 开发者平台 → 创建应用 → 获取 api key(通常为形如 ds-xxxxxxxxxxxxxxxx 的字符串)。

2.创建 .env 文件

在项目根目录右键 → new → file → 输入 .env → 添加内容:

deepseek_api_key=你的api_key
deepseek_api_endpoint=https://api.deepseek.com/v1/chat/completions  # 根据实际api文档调整

3.将 .env 添加到 .gitignore

避免将敏感信息提交到版本库。

步骤 3:编写 api 请求代码

新建 python 文件

如 deepseek_client.py,编写以下代码:

import os
import requests
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

class deepseekclient:
    def __init__(self):
        self.api_key = os.getenv("deepseek_api_key")
        self.endpoint = os.getenv("deepseek_api_endpoint")
        self.headers = {
            "authorization": f"bearer {self.api_key}",
            "content-type": "application/json"
        }

    def generate_response(self, prompt, model="deepseek-chat", max_tokens=500):
        payload = {
            "model": model,
            "messages": [{"role": "user", "content": prompt}],
            "max_tokens": max_tokens,
            "temperature": 0.7
        }
        
        try:
            response = requests.post(self.endpoint, json=payload, headers=self.headers)
            response.raise_for_status()  # 检查http错误
            return response.json()["choices"][0]["message"]["content"]
        except requests.exceptions.requestexception as e:
            return f"api请求失败: {str(e)}"
        except keyerror:
            return "解析响应时发生错误"

# 示例用法
if __name__ == "__main__":
    client = deepseekclient()
    prompt = "用python写一个快速排序算法"
    response = client.generate_response(prompt)
    print("deepseek 响应:\n", response)

步骤 4:调试与测试

运行代码

右键点击代码编辑器 → run ‘deepseek_client.py’ → 观察控制台输出。

常见问题排查

401 未授权:检查 api key 是否正确,环境变量是否加载。

429 请求过多:确认 api 的速率限制,适当增加延迟。

响应格式错误:根据实际 api 文档调整 response.json() 的解析逻辑

步骤 5:集成到实际项目

1.封装为模块

将 deepseekclient 类移动到独立模块(如 utils/deepseek.py),通过 from utils.deepseek import deepseekclient 调用。

2.异步请求优化

如需高性能,改用 aiohttp 库实现异步请求

pip install aiohttp
import aiohttp
import asyncio

async def async_generate_response(self, prompt):
    async with aiohttp.clientsession() as session:
        async with session.post(
            self.endpoint, 
            json=payload, 
            headers=self.headers
        ) as response:
            return await response.json()

3.日志记录

添加日志功能追踪 api 调用情况:

import logging
logging.basicconfig(level=logging.info)

步骤 6:高级功能扩展

1.流式传输(streaming)

若 api 支持流式响应,修改代码逐块接收数据:

def stream_response(self, prompt):
    payload["stream"] = true
    response = requests.post(self.endpoint, json=payload, headers=self.headers, stream=true)
    for chunk in response.iter_lines():
        if chunk:
            print(chunk.decode("utf-8"))

2.文件交互

实现文件上传/下载(如文档问答场景)需参照 api 文档处理 multipart/form-data。

pycharm 调试技巧

1.环境变量配置

若未使用 .env,可在 pycharm 中手动设置:
run → edit configurations → environment variables → 添加 deepseek_api_key=你的key。

2.http 客户端测试

使用 pycharm 内置的 http client(.http 文件)直接测试 api:

post {{deepseek_api_endpoint}}
content-type: application/json
authorization: bearer {{deepseek_api_key}}

{
  "model": "deepseek-chat",
  "messages": [{"role": "user", "content": "你好"}]
}

注意事项

1.成本控制

监控 api 调用次数和 token 消耗,避免超额费用(部分平台提供免费额度)。

2.错误重试机制

添加重试逻辑(如 tenacity 库)应对临时性网络问题:

pip install tenacity
from tenacity import retry, stop_after_attempt, wait_exponential

@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=2, max=10))
def generate_response(self, prompt):
    # 原有代码

3.合规性

遵守 deepseek 的使用条款,避免生成有害内容。

—通过以上步骤,你可以在 pycharm 中高效对接 deepseek 大模型,并根据需求扩展功能。

以上就是pycharm对接deepseek大模型的操作流程的详细内容,更多关于pycharm对接deepseek的资料请关注代码网其它相关文章!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

conda虚拟环境中查看包的位置的四种方法

03-06

Anaconda虚拟环境中安装cudatoolkit和cudnn包并配置tensorflow-gpu的教程

02-28

从零教你安装pytorch并在pycharm中使用

02-28

pycharm远程连接服务器运行pytorch的过程详解

02-28

Anaconda虚拟环境中安装cudatoolkit和cudnn包并配置pytorch-gpu的配置教程

02-28

pycharm修改IP、端口无效的问题及解决方案

02-24

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论