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

创建环境

激活案件

安装相关依赖

复制代码
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 类中启动

相关推荐
Android系统攻城狮11 分钟前
Linux PipeWire深度解析之pw_core_get_registry调用流程与实战(九十一)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
其实防守也摸鱼12 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
小义_16 分钟前
JDK 深度解析
java·linux·开发语言·python·面试
邪修king18 分钟前
Re:Linux 系统编程篇 (十二):进程篇(一)基础与 fork 系统调用全解
linux·运维·服务器
牢姐与蒯21 分钟前
Linux进程(五).之环境变量
linux·运维·服务器·ubuntu
ZGi.ai22 分钟前
ZGI 文件产物:生成报告后怎样交付
大数据·运维·workflow·权限管理·zgi·智能体交付·文件产物
楠楠子呀32 分钟前
号码状态核验:从数据清洗到合规处理的实现思路
运维·自动化
raindayinrain38 分钟前
深入理解Linux内核--系统调用,性能优化
linux·性能优化·系统调用·返回值·入参·内核态用户态地址访问
小周学学学41 分钟前
GLPI 项目解读:开源 IT 资产管理与 ITSM 服务台平台
运维·开源·自动化·资产管理
码上有光44 分钟前
Linux:进程控制和进程替换
java·linux·服务器·进程控制·进程替换