当前位置:

首页 > 软件教程 > DeepSeek-7B-chat FastApi 部署教程

DeepSeek-7B-chat FastApi 部署教程

DeepSeek-7B-chatFastApi部署与调用指南DeepSeek模型简介DeepSeekLLM是一款具备70亿参数的高性能语言模型,基于包含中英文在内的2万亿token数据集从零训练而成。为推动学术研究发展,DeepSeek已向研究社区开源了多个版本的模型,包括DeepSeekLLM7B/67BBase以及DeepSeekLLM7B/67BChat版本。环境搭建在autodl平台上选择配备NVIDIA3090或其他具备24GB显存的GPU实例。

本文目录

    DeepSeek-7B-chat FastApi 部署与调用指南

    DeepSeek 模型简介

    DeepSeek LLM 是一款具备70亿参数的高性能语言模型,基于包含中英文在内的2万亿token数据集从零训练而成。为推动学术研究发展,DeepSeek 已向研究社区开源了多个版本的模型,包括 DeepSeek LLM 7B/67B Base 以及 DeepSeek LLM 7B/67B Chat 版本。

    环境搭建

    在 autodl 平台上选择配备 NVIDIA 3090 或其他具备 24GB 显存的 GPU 实例。镜像配置建议选择:PyTorch → 2.0.0 → Python 3.8 (Ubuntu20.04) → CUDA 11.8(CUDA 11.3 及以上均可)。创建实例后,进入 JupyterLab 界面,并打开终端进行后续环境配置、模型下载与服务部署。

    [大模型]DeepSeek-7B-chat FastApi 部署调用

    更换 pip 源并安装所需依赖

    # 升级pip
    python -m pip install --upgrade pip
    

    设置清华源加速下载

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

    安装必要库

    pip install fastapi==0.104.1 pip install uvicorn==0.24.0.post1 pip install requests==2.25.1 pip install modelscope==1.9.5 pip install transformers==4.35.2 pip install streamlit==1.24.0 pip install sentencepiece==0.1.99 pip install accelerate==0.24.1 pip install transformers_stream_generator==0.0.4

    下载模型文件

    使用 ModelScope 提供的 snapshot_download 方法获取 DeepSeek-7B-chat 模型。在 /root/autodl-tmp 目录下创建 download.py 文件,写入以下代码并保存(如图所示),然后执行 python /root/autodl-tmp/download.py 开始下载。模型体积约为 15GB,预计耗时 10-20 分钟。

    import torch
    from modelscope import snapshot_download, AutoModel, AutoTokenizer
    from modelscope import GenerationConfig

    model_dir = snapshot_download('deepseek-ai/deepseek-llm-7b-chat', cache_dir='/root/autodl-tmp', revision='master')

    编写 API 接口服务

    在 /root/autodl-tmp 路径下新建 api.py 文件,填入如下代码并保存。该脚本已添加详细注释,便于理解各模块功能。

    from fastapi import FastAPI, Request
    from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
    import uvicorn
    import json
    import datetime
    import torch

    配置设备信息

    DEVICE = "cuda" DEVICE_ID = "0" CUDA_DEVICE = f"{DEVICE}:{DEVICE_ID}" if DEVICE_ID else DEVICE

    GPU内存清理函数

    def torch_gc(): if torch.cuda.is_available(): with torch.cuda.device(CUDA_DEVICE): torch.cuda.empty_cache() torch.cuda.ipc_collect()

    初始化FastAPI应用

    app = FastAPI()

    @app.post("/") async def create_item(request: Request): global model, tokenizer json_post_raw = await request.json() json_post = json.dumps(json_post_raw) json_post_list = json.loads(json_post)

    prompt = json_post_list.get('prompt')
    max_length = json_post_list.get('max_length', 512)  # 默认最大长度为512
    
    # 构建对话消息格式
    messages = [
        {"role": "user", "content": prompt}
    ]
    
    # 生成输入张量
    input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
    
    # 模型推理
    outputs = model.generate(input_tensor, max_new_tokens=max_length)
    result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
    
    now = datetime.datetime.now()
    time = now.strftime("%Y-%m-%d %H:%M:%S")
    
    # 返回响应结构
    answer = {
        "response": result,
        "status": 200,
        "time": time
    }
    
    # 日志输出
    log = "[" + time + "] " + ', prompt:"' + prompt + '", response:"' + repr(result) + '"'
    print(log)
    
    torch_gc()
    return answer

    if name == 'main': model_path = '/root/autodl-tmp/deepseek-ai/deepseek-llm-7b-chat'

    # 加载分词器和模型
    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
    model = AutoModelForCausalLM.from_pretrained(
        model_path,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        device_map="auto"
    )
    
    # 配置生成参数
    model.generation_config = GenerationConfig.from_pretrained(model_path)
    model.generation_config.pad_token_id = model.generation_config.eos_token_id
    model.eval()
    
    # 启动服务
    uvicorn.run(app, host='0.0.0.0', port=6006, workers=1)

    启动 API 服务

    在终端中运行以下命令启动服务:

    cd /root/autodl-tmp

    python api.py

    当模型加载完成后,若看到类似下图的日志输出,则表示服务已成功启动。

    [大模型]DeepSeek-7B-chat FastApi 部署调用

    服务默认监听 6006 端口,支持通过 POST 请求调用。

    使用 curl 调用示例:

    curl -X POST "http://127.0.0.1:6006" \
    -H 'Content-Type: application/json' \
    -d '{"prompt": "你好"}'

    使用 Python requests 调用示例:

    import requests
    import json

    def get_completion(prompt): headers = {'Content-Type': 'application/json'} data = {"prompt": prompt} response = requests.post(url='http://127.0.0.1:6006', headers=headers, data=json.dumps(data)) return response.json()['response']

    if name == 'main': print(get_completion('你好'))

    返回结果示例:

    {
    'response': '你好!有什么我可以帮助你的吗?', 
    'status': 200, 
    'time': '2023-12-01 17:06:10'
    }

    [大模型]DeepSeek-7B-chat FastApi 部署调用

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    endnote怎么导入参考文献格式
    endnote怎么导入参考文献格式

    详解 Windows 端 EndNote 2025 如何导入期刊要求的参考文献格式。涵盖下载 .ens 文件、另存副本、勾选常用样式及在 Word 中切换输出样式的操作步骤,帮助作者快速适配投稿规范。

    typora怎么高亮 文本标记语法设置
    typora怎么高亮 文本标记语法设置

    本教程演示如何在 Windows 版 Typora 中开启 Highlight 高亮功能,通过双等号语法标记重点文本,并展示如何编辑、取消高亮及验证源码保存状态。

    讯飞智作平台 在线创作功能介绍
    讯飞智作平台 在线创作功能介绍

    了解讯飞智作平台的在线创作流程:从文字配音到数字人视频生成,再到AIGC工具箱的素材处理。通过具体案例演示如何选择合适的功能入口、调整参数及核对成品权益,适合需要快速制作音频或播报视频的用户参考。

    gemini 官网 入口网页版登录访问方法
    gemini 官网 入口网页版登录访问方法

    本文详细介绍 Gemini 官方网页版入口地址、个人与组织账号登录流程、运行环境要求、账号体系差异对比及常见访问异常的排查解决方法。

    正版steam官网入口登录下载安装操作教程
    正版steam官网入口登录下载安装操作教程

    针对初次接触Steam平台的玩家,提供正版Steam官网网址识别、客户端官方安装包下载、本地安装配置及账号安全注册登录的详细图文操作教程。

    鼠标宏设置软件怎么设置?详细操作教程
    鼠标宏设置软件怎么设置?详细操作教程

    针对各类支持驱动配置的鼠标,系统梳理鼠标宏设置软件的核心设置逻辑、全流程操作步骤、运行模式选择与排错验证方法,帮助读者准确掌握宏功能的配置与使用。

    endnote怎么插入文献 Word添加引文步骤
    endnote怎么插入文献 Word添加引文步骤

    详解如何在 Word 中使用 EndNote 插件插入文献引用。涵盖从库中搜索记录、插入引文、选择样式到更新参考文献表的步骤,确保引文格式准确且可随时更新。

    再漫画官网首页入口及在线观看方法
    再漫画官网首页入口及在线观看方法

    了解如何进入再漫画官网首页,并通过界面导览熟悉分类浏览、搜索查找及在线阅读器的基本使用方法,提升阅读体验。

    Codex自动审查、缓存与额度重置有什么区别?
    Codex自动审查、缓存与额度重置有什么区别?

    针对Codex近期更新引发的讨论,本文厘清自动审查的功能边界,区分即时额度恢复与留存重置卡的不同,帮助用户理性评估更新价值,避免对缓存和权益产生误解。

    讯飞绘文ai AI写作功能介绍
    讯飞绘文ai AI写作功能介绍

    了解讯飞绘文AI写作功能:涵盖选题推荐、智能起稿、风格设定、知识融合及稿件校对。通过社区活动案例,掌握从构思到排版的完整操作逻辑,提升内容创作效率。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。