使用llama-cpp-python制作api接口

文章目录

概要

使用llama-cpp-python制作api接口,可以接入gradio当中,参考上一节。

llama-cpp-python的github网址

整体操作流程

  1. 下载llama-cpp-python。首先判断自己是在CPU的环境下还是GPU的环境下。以下操作均在魔搭提供的免费GPU环境下。
bash 复制代码
#CPU
pip install llama-cpp-python
#GPU
CMAKE_ARGS="-DGGML_CUDA=on FORCE_CMAKE=1" pip install llama-cpp-python --no-cache-dir
  1. 启动服务
    模型可以采用量化的版本,也可以采用原版本大小,看自己的硬件环境。
bash 复制代码
# 模型注意力层有32层,cpu8核,可以自己修改。
python -m llama_cpp.server --model 模型路径/模型名称.bin --n_gpu_layers 32 --m_thread 8

在魔搭上启动可能报错如下:

这也就是缺少依赖包,解决如下:

bash 复制代码
pip install starlette-context
pip install pydantic-settings

成功启动后会显示:

  1. 测试一下能不能行
    api_key 随便写,一个模板而已,因为是自己构建的api。
    base_url 就是上面图所示的,为什么加v1等会在下面解释 端口号自己可以改的,在启动服务的时候设置。
python 复制代码
!pip install -q openai
import openai

openai.api_key = 'qqqqqqqqqqqqqqqqqq'  
openai.base_url = "http://localhost:8000/v1/"  
#模型参数设置
completion = openai.completions.create(
    model="llama",
    max_tokens=256,   
    top_p = 0.2,
    temperature = 0.6,
    prompt="出现了黄疸、恶心、呕吐等症状,可能患了什么疾病?",
)
print(completion.choices[0].text)

因为采用的是量化后模型,反应速度也算比较快了,用时2.6s。

技术细节

  • API的接口缘由可以查看github中的llama_cpp/server/app.py,有详细的路由解释。

小结

至此完成了一个整体流程:从微调到量化到部署到api最终显示在网页上,涉及到的技术很多,还有很多细节需要学习,记录一下美好的时光,希望有个好的结果。敬礼!!!

相关推荐
苏离~Hack几秒前
惠民云平台开发实战:基于 Vue3 + Django 的社区服务系统设计与实现
后端·python·django
言乐69 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐69 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
yl453010 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿10 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__11 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI11 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl11 小时前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
李航198312 小时前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程
沙漠之主12 小时前
Python 教学设计资料:从入门到实战的完整课程方案
爬虫·python