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

news2024/9/23 13:30:22

文章目录

    • 概要
    • 整体操作流程
    • 技术细节
    • 小结

概要

使用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最终显示在网页上,涉及到的技术很多,还有很多细节需要学习,记录一下美好的时光,希望有个好的结果。敬礼!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1932491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-支持VForm3表单的选择与支持

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、初始化的时候加载表单 /** 查询表单列表 */ const getFormList () > {listForm().then(res > formOptions.value res.result.records) } 2、开始节点的修改,增加表…

JavaSE从零开始到精通

1.前置知识 JVM:java virtrual machine, java虚拟机, 专门用于执行java代码的一款软件。可以将class文件,转换为机器认识的机器码,因为我们的计算机只认识010101的二进制语言。JRE:java runtime enviroment, java运行时环境, jav…

人工智能算法工程师(中级)课程15-常见的网络模型及设计原理与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程15-常见的网络模型及设计原理与代码详解。 本文给大家介绍常见的网络模型及其设计原理与代码实现,涵盖了LeNet、AlexNet、VggNet、GoogLeNet、InceptionNet、ResNet、Dense…

【PostgreSQL】Windows 上安装 PostgreSQL 16版本

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

ubuntu24.04 linux bcm94352hmb 无线网卡(带蓝牙功能)无法连接蓝牙设备的解决办法

ubuntu24.04 linux bcm94352hmb 无线网卡(带蓝牙功能)无法连接蓝牙设备的解决办法 问题描述 小本是自己换装的bcm94352hmb,现在跑不动黑苹果了,换装ubuntu,该网卡在黑苹果上和windows上都能正常工作,到了…

怎样减少视频的容量 怎样减少视频内存保持清晰度

在数字媒体时代,视频内容已经成为人们日常交流和信息传递的重要方式。然而,视频往往占用大量存储空间,给我们的设备带来不小的负担。如何在不损失视频质量的前提下,减少视频文件的大小呢?本文将为你揭秘几个实用的技巧…

一文掌握Prometheus实现页面登录认证并集成grafana

一、接入方式 以保护Web站点的访问控制,如HTTP 服务器配置中实现安全的加密通信和身份验证,保护 Web 应用程序和用户数据的安全性。 1.1 加密密码 通过httpd-tools工具包来进行Web站点加密 yum install -y httpd-tools方式一:通过htpasswd生…

Postfix+Dovecot+Roundcube开源邮件系统搭建系列1-2:系统搭建目标+MariaDB数据库配置(MySQL)

1. 系统搭建目标 通过本系列文章,最终可以部署一套提供如下服务的邮件系统: SMTP服务:由Postfix提供,监听25、465、587端口。POP3服务:由Dovecot提供,监听110、995端口。IMAP服务:由Dovecot提…

TCP与UDP网络编程

网络通信协议 java.net 包中提供了两种常见的网络协议的支持: UDP:用户数据报协议(User Datagram Protocol)TCP:传输控制协议(Transmission Control Protocol) TCP协议与UDP协议 TCP协议 TCP协议进行通信的两个应用进程:客户端、服务端 …

(算法)区间调度问题

问题大致如下所述:有n项工作,每项工作分别在s时间开始,在t时间结束. 对于每项工作,你都可以选择参与与否,如果选择了参与,那么自始至终都必须全程参与. 此外,参与工作的时间段不能重复(即使是开始的瞬间和结束的瞬间的重叠也是不允许的). 你的目标是参…

数据结构历年考研真题对应知识点(哈夫曼树和哈夫曼编码)

目录 5.5.1哈夫曼树和哈夫曼编码 1.哈夫曼树的定义 2.哈夫曼树的构造 【分析哈夫曼树的路径上权值序列的合法性(2010)】 【哈夫曼树的性质(2010、2019)】 3.哈夫曼编码 【根据哈夫曼编码对编码序列进行译码(201…

全文翻译 | OWASP《LLM安全与治理检查清单》

💡 摘要: LLM AI Cybersecurity & Governace Checklist version 1.0 发布时间:2024年2月19日 本文是OWASP(开放式网络应用安全项目)发布的《LLM AI安全与治理清单》(以下简称“清单”)&…

使用Django框架实现音频上传功能

数据库设计(models.py) class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…

Java二十三种设计模式-工厂方法模式(2/23)

工厂方法模式:设计模式中的瑞士军刀 引言 在软件开发中,工厂方法模式是一种常用的创建型设计模式,它用于处理对象的创建,将对象的实例化推迟到子类中进行。这种模式不仅简化了对象的创建过程,还提高了代码的可维护性…

数据结构day2

一、思维导图 内存分配 二、课后习题 分文件编译 //sys.h #ifndef TEST_H #define TEST_H #define MAX_SIZE 100//定义学生类型 typedef struct Stu {char name[20]; //姓名int age; //年龄double score; //分数 }stu;//定义班级类型 typedef struct Class {struct …

4.作业--Jquery,JS

目录 作业题目:1.使用Jquery完成点击图片变换图片颜色 A图 B代码 HTML的部分 JQ的部分 作业题目:2.使用JS中的DOM操作完成背景颜色渐变方向变换。点击背景,渐变方向发生改变。 A图 B代码 学习产出: 作业题目:1…

2014-2024年腾势D9N7N8EVDMI维修手册和电路图资料线路图接线图

经过整理,2014-2024年腾势汽车全系列已经更新至汽修帮手资料库内,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照表…

ORA-00756 ORA-10567故障处理---惜分飞

数据库异常断电之后,recover 报ORA-00756 ORA-10567等错 SQL> recover database; ORA-00756: 恢复操作检测到数据块写入丢失 ORA-10567: Redo is inconsistent with data block (file# 1,block# 113855,file offset is 932700160 bytes) ORA-10564: tablespace S…

【学术会议征稿】第四届人工智能、虚拟现实与可视化国际学术会议(AIVRV 2024)

第四届人工智能、虚拟现实与可视化国际学术会议(AIVRV 2024) 2024 4th International Conference on Artificial Intelligence, Virtual Reality and Visualization 第四届人工智能、虚拟现实与可视化国际学术会议(AIVRV 2024)将…

请你谈谈:spring bean的生命周期 - 阶段2:Bean实例化阶段

在Spring框架中,Bean的实例化是Bean生命周期中的一个重要阶段。这个过程包括两个关键的子阶段:Bean实例化前阶段和Bean实例化阶段本身。 BeanFactoryPostProcessor:BeanFactoryPostProcessor是容器启动阶段Spring提供的一个扩展点&#xff0…