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

概要

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

整体操作流程

  1. 下载llama-cpp-python。首先判断自己是在CPU的环境下还是GPU的环境下。以下操作均在魔搭提供的免费GPU环境下。
#CPU
pip install llama-cpp-python
#GPU
CMAKE_ARGS="-DGGML_CUDA=on FORCE_CMAKE=1" pip install llama-cpp-python --no-cache-dir

在这里插入图片描述

  1. 启动服务
    模型可以采用量化的版本,也可以采用原版本大小,看自己的硬件环境。
# 模型注意力层有32层,cpu8核,可以自己修改。
python -m llama_cpp.server --model 模型路径/模型名称.bin --n_gpu_layers 32 --m_thread 8

在魔搭上启动可能报错如下:
在这里插入图片描述
在这里插入图片描述
这也就是缺少依赖包,解决如下:

pip install starlette-context
pip install pydantic-settings

成功启动后会显示:
在这里插入图片描述
在这里插入图片描述

  1. 测试一下能不能行
    api_key 随便写,一个模板而已,因为是自己构建的api。
    base_url 就是上面图所示的,为什么加v1等会在下面解释 端口号自己可以改的,在启动服务的时候设置。
!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最终显示在网页上,涉及到的技术很多,还有很多细节需要学习,记录一下美好的时光,希望有个好的结果。敬礼!!!

相关推荐

  1. llama.cpp制作GGUF文件

    2024-07-18 05:46:02       36 阅读
  2. llama-cpp-python

    2024-07-18 05:46:02       21 阅读
  3. 5.llama.cpp编译及使用

    2024-07-18 05:46:02       51 阅读
  4. 使用llama.cpp量化部署LLM

    2024-07-18 05:46:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 05:46:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 05:46:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 05:46:02       58 阅读
  4. Python语言-面向对象

    2024-07-18 05:46:02       69 阅读

热门阅读

  1. AWS ECS 服务创建 CloudWatch 告警

    2024-07-18 05:46:02       18 阅读
  2. 基于 Vue 3 和 Element Plus 构建图书管理系统

    2024-07-18 05:46:02       24 阅读
  3. Android中Context概述

    2024-07-18 05:46:02       19 阅读
  4. 数据库管理-第221期 Oracle的高可用-04(20240717)

    2024-07-18 05:46:02       21 阅读
  5. 构建自动化:在Gradle中配置项目变量

    2024-07-18 05:46:02       21 阅读
  6. PL/SQL oracle上多表关联的一些记录

    2024-07-18 05:46:02       23 阅读
  7. vb6读取mysql,用odbc mysql 5.3版本驱动

    2024-07-18 05:46:02       19 阅读
  8. 在Spring Boot 中使用Kafka

    2024-07-18 05:46:02       23 阅读
  9. 响应式编程:Project Reactor与WebFlux

    2024-07-18 05:46:02       20 阅读