deepseek快速体验(推理,微调,训练)

源码

  • 源码:https://gitee.com/agricultureiot/agi/tree/master/deepseek
  • 微调:https://gitee.com/agricultureiot/agi/tree/master/deepseek

ollama , vllm,llama.cpp
等方式也可快速部署,但是无法微调和训练,只能推理使用(线上正式使用),下面使用另一种简单的方式部署,可训练,微调,推理

环境

以下配置是最小配置,仅仅能运行起来,测试体验使用,无法并发

  • GPU显存 >= 24G
  • CUDA>=11.8,建议 12.1
  • python==3.10
  • nvcc -V 命令正确输出,并且版本匹配
  • CPU >= 16核
  • 运行内存 >= 64G

创建 python 3.10 环境

conda create -n py310 python=3.10

下载框架

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 transformers==4.43.2 vllm==0.6.1 openai==1.61.0

设置环境变量,将 HuggingFace设置为ModelScope

export USE_OPENMIND_HUB=1 // 1=ModelScope,0=HuggingFace

下载模型到本地(下载小模型测试比较快)

最大模型需要800G运行内存,这里使用小模型

pip install modelscope
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B  --local_dir '/ossfs/workspace/DeepSeek-R1-Distill-Qwen-1.5B'

创建启动配置文件(也可以不创建,直接将参数拼接在启动命令后面)

  • deepseek-base.yaml
model_name_or_path: deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B # 会自动下载也可以提前把模型下载到本地
template: deepseek3 # 训练和推理时构造 prompt 的模板
infer_backend: huggingface  # 部署框架: [huggingface, vllm]

部署

方式1:api 接口方式部署(对外暴露接口)

 API_PORT=7007 CUDA_VISIBLE_DEVICES=0 llamafactory-cli api deepseek-base.yaml

方式2:web 聊天页面方式部署(需要开外网端口访问 web 页面)

API_PORT=7007 CUDA_VISIBLE_DEVICES=0 llamafactory-cli webchat deepseek-base.yaml

方式3:命令行模式启动(终端命令行聊天)

CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat deepseek-base.yaml

在这里插入图片描述

测试

  • 新建chat.py
import os
from openai import OpenAI
from transformers.utils.versions import require_version

require_version("openai>=1.5.0", "To fix: pip install openai>=1.5.0")

if __name__ == '__main__':
    port = 7007
    client = OpenAI(
        api_key="0",
        base_url="http://localhost:{}/v1".format(os.environ.get("API_PORT", 7007)),
    )
    messages = []
    messages.append({"role": "user", "content": "你好,什么是deepseek?"})
    result = client.chat.completions.create(messages=messages, model="test")
    print(result.choices[0].message)
python chat.py
  • 或新建chat2.py
import os
from openai import OpenAI
from transformers.utils.versions import require_version

require_version("openai>=1.5.0", "To fix: pip install openai>=1.5.0")

if __name__ == '__main__':
    port = 7007
    client = OpenAI(
        api_key="0",
        base_url="http://localhost:{}/v1".format(os.environ.get("API_PORT", 7007)),
    )

    while True:
        # 获取用户输入的问题
        question = input("请输入你的问题(输入 'q' 退出):")

        # 如果用户输入 'q',则退出循环
        if question.lower() == 'q':
            break

        # 构建消息列表
        messages = [{"role": "user", "content": question}]

        try:
            # 发送请求获取回复
            result = client.chat.completions.create(messages=messages, model="test")
            # 打印回复内容
            print(result.choices[0].message.content)
            print("-------------------------------")
        except Exception as e:
            print(f"请求出错:{e}")

在这里插入图片描述
在这里插入图片描述

命令行方式启动

在这里插入图片描述

备注:简单的问题不经过思考,复杂的问题才会 think

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度物联网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值