当前位置: 首页 > news >正文

文心4.5开源大模型的使用和部署

前言

就在今天,文心4.5模型开源了,不是一个,而是整个系列模型正式开源。很突然,我都震惊了。文心4.5系列开源模型共10款,涵盖了激活参数规模分别为47B 和3B 的混合专家(MoE)模型(最大的模型总参数量为424B),以及0.3B 的稠密参数模型。下面我们就介绍如何快速使用文心4.5模型推理,以及部署接口给Android、微信小程序等客户端调用,注意这里只接受文本类型的模型,实际文心4.5也有多模态的模型。

环境:

  • PaddlePaddle 3.1.0
  • CUDA 12.6
  • Ubuntu 22.04

搭建环境

  1. 首先安装PaddlePaddle,如果安装了,可以跳过。
python -m pip install paddlepaddle-gpu==3.1.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
  1. 然后安装fastdeploy工具。
python -m pip install fastdeploy-gpu -i https://www.paddlepaddle.org.cn/packages/stable/fastdeploy-gpu-86_89/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
  1. 安装aistudio-sdk,用于下载模型。
pip install --upgrade aistudio-sdk

快速使用

通过使用下面Python代码,可以快速实现对话。我使用了最小的一个模型作为开始使用,实际还有更多更大的模型,如下:

  • ERNIE-4.5-0.3B-Paddle
  • ERNIE-4.5-21B-A3B-Paddle
  • ERNIE-4.5-300B-A47B-Paddle

执行下面代码,会自动下载模型,然后开始在终端对话。

from aistudio_sdk.snapshot_download import snapshot_download
from fastdeploy import LLM, SamplingParams# 模型名称
model_name = "PaddlePaddle/ERNIE-4.5-0.3B-Paddle"
save_path = "./models/ERNIE-4.5-0.3B-Paddle/"
# 下载模型
res = snapshot_download(repo_id=model_name, revision='master', local_dir=save_path)
# 对话参数
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
# 加载模型
llm = LLM(model=save_path, max_model_len=32768)messages = []while True:prompt = input("请输入问题:")if prompt == 'exit':breakmessages.append({"role": "user", "content": prompt})outputs = llm.chat(messages, sampling_params)print(outputs)

输出日志如下:


部署接口

首先下载模型,这里可以随时替换你需要的模型。

aistudio download --model PaddlePaddle/ERNIE-4.5-0.3B-Paddle --local_dir ./models/ERNIE-4.5-0.3B-Paddle/

下载模型之后,执行下面命令开始启动服务,端口号是8180,max-model-len是指定推理支持的最大上下文长度,max-num-seqs是解码阶段的最大并发数。更多的参数文档可以查看:https://paddlepaddle.github.io/FastDeploy/parameters/

python -m fastdeploy.entrypoints.openai.api_server \--model ./models/ERNIE-4.5-0.3B-Paddle/ \--port 8180 \--max-model-len 32768 \--max-num-seqs 32

输出日志如下:


调用接口

它是兼容OpenAI的API,所以如果使用Python调用的话,可以使用openai库来调用,不需要指定模型名称和api_key。

import openai
host = "192.168.0.100"
port = "8180"
client = openai.Client(base_url=f"http://{host}:{port}/v1", api_key="null")messages = []while True:prompt = input("请输入问题:")if prompt == 'exit':breakmessages.append({"role": "user", "content": prompt})response = client.chat.completions.create(model="null",messages=messages,stream=True,)for chunk in response:if chunk.choices[0].delta:print(chunk.choices[0].delta.content, end='')

输出如下:


后面再补充使用Android调用该接口。

http://www.lryc.cn/news/577309.html

相关文章:

  • K8S初始化master节点不成功kubelet.service failed(cgroup driver配置问题)
  • Python 数据分析与机器学习入门 (六):Seaborn 可视化技巧,图表更美观
  • Python 库 包 accelerate
  • 插入排序的简单介绍
  • 百度文心大模型4.5系列正式开源,同步开放API服务
  • 百度文心大模型4.5系列正式开源,开源会给百度带来什么?
  • MongoDB 安装使用教程
  • 御控助力打造物联网实训室,赋能职业教育高质量发展
  • I/O I/O基本概念与基本I/O函数 6.30
  • YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-autobackend.py
  • LeetCode Hot100(图论)
  • huggingface----深度学习 Diffusers 库
  • TCPView v4.19 网络检测和拦截工具——东方仙盟
  • 类图+案例+代码详解:软件设计模式----生成器模式(建造者模式)
  • 炸鸡派-基础测试例程
  • STM32 驱动 ADS1015 单端 差分 多通道模式 ADC 转换
  • 海康相机总是抓取前一帧图像
  • jenkins集成sonarqube(使用token进行远程调用)
  • ShardingSphere完成MySQL集群部署
  • RK3588高性能处理器核心技术解析
  • MLOps 基础:驯服模型生命周期的科学
  • GitHub Actions 入门指南:从零开始自动化你的开发流程
  • 手机屏暗点缺陷修复及相关液晶线路激光修复原理
  • 超大js文件多层级引用缓存在网络较差的时候无法调用使用问题
  • BERT 模型详解:结构、原理解析
  • RWKV-8 系列之 DeepEmbedAttention:精简 KV 缓存,尤其适合混合模型(RWKV-7s)
  • MySQL 慢查询日志详解
  • 小白excel中使用VBA
  • [国家电网备考]操作系统
  • 飞算JavaAI 2.0.0深度测评:自然语言编程如何重构开发生产力?