大模型模型部署和暴露接口

创建环境

激活案件

安装相关依赖

复制代码
conda create -n fastApi python=3.10
conda activate fastApi
conda install -c conda-forge fastapi uvicorn transformers pytorch
pip install safetensors sentencepiece protobuf

新建文件夹

复制代码
mkdir App
cd App
touch main.py

复制代码main.py

复制代码
from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

app = FastAPI()

# 模型路径
model_path = "/root/autodl-tmp/Models/deepseek-r1-1.5b-merged"

# 加载 tokenizer (分词器)
tokenizer = AutoTokenizer.from_pretrained(model_path)

# 加载模型并移动到可用设备(GPU/CPU)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModelForCausalLM.from_pretrained(model_path).to(device)

@app.get("/generate")
async def generate_text(prompt: str):
    # 使用 tokenizer 编码输入的 prompt
    inputs = tokenizer(prompt, return_tensors="pt").to(device)
    
    # 使用模型生成文本
    outputs = model.generate(inputs["input_ids"], max_length=150)
    
    # 解码生成的输出
    generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    
    return {"generated_text": generated_text}

运行app.py文件

复制代码
uvicorn main:app --reload --host 0.0.0.0

可能报错,升级 huggingface-hub,运行以下命令升级到兼容版本

复制代码
pip install --upgrade huggingface-hub
uvicorn main:app --reload --host 0.0.0.0

浏览器打开

复制代码
http://localhost:8000/docs

后端接口

然后就是做一个网站调用大模型接口,类似如下

前端项目:https://github.com/huangyf2013320506/magic_conch_frontend.git

复制代码
npm instal1
npm run dev

后端项目:https://github.com/huangyf2013320506/magic_conch_backend.git

记得把jdk改一下,之前一直用的是1.8

把网址改成"http://127.0.0.1:5173",因为前端网址是这

编译一下

然后运行启动就行,注意要在在MagicconchBackendApplication.java 类中启动

相关推荐
_OP_CHEN2 分钟前
【Linux系统编程】(二十八)深入 ELF 文件原理:从目标文件到程序加载的完整揭秘
linux·操作系统·编译·c/c++·目标文件·elf文件
Web极客码4 分钟前
WordPress博客关键词
服务器·wordpress·网站加速
Fleshy数模35 分钟前
MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践
linux·mysql
神梦流1 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年1 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
.小墨迹2 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield2 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑2 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生