Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >llama-cpp-python快速上手 - plus studio

llama-cpp-python快速上手 - plus studio

作者头像
plus sign
发布于 2024-02-29 00:14:24
发布于 2024-02-29 00:14:24
1.9K0
举报
文章被收录于专栏:个人博客个人博客

llama-cpp-python快速上手

搭建环境

项目地址GitHub,有能力的话可以直接阅读原始文档。

首先按照文档,安装llama-cpp-python

代码语言:text
AI代码解释
复制
pip install llama-cpp-python

接下来,你可能缺一些依赖,这一点在文档中没有涉及但是我整理了我缺少的依赖,依次运行即可。

代码语言:text
AI代码解释
复制
pip install uvicorn
pip install anyio
pip install starlette
pip install fastapi
pip install pydantic_settings
pip install sse_starlette

高级API和低级API

高级API

高级 API 通过Llama类提供简单的托管接口。请将./models/7B/ggml-model.bin 换成你的模型的路径,下同。

代码语言:text
AI代码解释
复制
from llama_cpp import Llama
llm = Llama(model_path="./models/7B/ggml-model.bin")
output = llm("Q: Name the planets in the solar system? A: ", max_tokens=32, stop=["Q:", "\n"], echo=True)
print(output)

返回值如下

代码语言:text
AI代码解释
复制
{
  "id": "cmpl-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "object": "text_completion",
  "created": 1679561337,
  "model": "./models/7B/ggml-model.bin",
  "choices": [
    {
      "text": "Q: Name the planets in the solar system? A: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune and Pluto.",
      "index": 0,
      "logprobs": None,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 28,
    "total_tokens": 42
  }
}

低级API

低级 API 直接ctypes绑定到llama.cpp. 整个低级 API 可以在llama_cpp/llama_cpp.py中找到,并直接镜像llama.h中的 C API 。

代码语言:text
AI代码解释
复制
import llama_cpp
import ctypes
params = llama_cpp.llama_context_default_params()
# use bytes for char * params
ctx = llama_cpp.llama_init_from_file(b"./models/7b/ggml-model.bin", params)
max_tokens = params.n_ctx
# use ctypes arrays for array params
tokens = (llama_cpp.llama_token * int(max_tokens))()
n_tokens = llama_cpp.llama_tokenize(ctx, b"Q: Name the planets in the solar system? A: ", tokens, max_tokens, add_bos=llama_cpp.c_bool(True))
llama_cpp.llama_free(ctx)

搭建与openai接口兼容的服务器接口

llama-cpp-python提供一个 Web 服务器,旨在作为 OpenAI API 的直接替代品。

代码语言:text
AI代码解释
复制
python3 -m llama_cpp.server --model models/7B/ggml-model.bin

你可以在上面的命令运行成功后访问文档

文档是全英的,想要对话接口的话我用python写了个示例

代码语言:text
AI代码解释
复制
import requests
  
url = 'http://localhost:8000/v1/chat/completions'
headers = {
	'accept': 'application/json',
	'Content-Type': 'application/json'
}
data = {
	'messages': [
		{
		'content': 'You are a helpful assistant.',
		'role': 'system'
		},
		{
		'content': 'What is the capital of France?',
		'role': 'user'
		}
	]
}
  
response = requests.post(url, headers=headers, json=data)
print(response.json())
print(response.json()['choices'][0]['message']['content'])

如果你想自建一个接口,请在遵守相关法律法规的情况下,在自己的服务器上启动相关服务,并反向代理http://localhost:8000 地址。例如你反向代理到了https://example.com,那你的对话地址就是https://example.com/v1/chat/completions。当你想用gpt的时候就不用看openai的脸色了,直接部署一个自己的接口自己请求,或者调用openai库的时候apibase写自己的接口。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-7-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Llama.cpp在CPU上快速的运行LLM
大型语言模型(llm)正变得越来越流行,但是它需要很多的资源,尤其时GPU。在这篇文章中,我们将介绍如何使用Python中的llama.cpp库在高性能的cpu上运行llm。
deephub
2023/08/30
2.1K0
使用Llama.cpp在CPU上快速的运行LLM
MetaLlama大模型
Code Llama 是一个基于 Llama 2 的大型代码语言模型系列,在开放模型、填充功能、对大输入上下文的支持以及编程任务的零样本指令跟踪能力中提供最先进的性能。我们提供多种风格来覆盖广泛的应用程序:基础模型 (Code Llama)、Python 专业化 (Code Llama - Python) 和指令跟随模型 (Code Llama - Instruct),每个模型都有 7B、13B 和 34B 参数。所有模型均在 16k 个标记序列上进行训练,并在最多 100k 个标记的输入上显示出改进。7B 和 13B Code Llama 和 Code Llama - 指令变体支持基于周围内容的填充。Code Llama 是通过使用更高的代码采样对 Llama 2 进行微调而开发的。与 Llama 2 一样,我们对模型的微调版本应用了大量的安全缓解措施。有关模型训练、架构和参数、评估、负责任的人工智能和安全性的详细信息,请参阅我们的研究论文。Llama 材料(包括 Code Llama)的代码生成功能生成的输出可能受第三方许可的约束,包括但不限于开源许可。
霍格沃兹测试开发Muller老师
2024/09/02
2290
本机实现Llama 7B推理及部署
- **部署步骤**:首先从[https://www.modelscope.cn/api/v1/models/bingal/llamafile-models/repo?Revision=master&FilePath=llamafile-0.6.2.win.zip](https://www.modelscope.cn/api/v1/models/bingal/llamafile-models/repo?Revision=master&FilePath=llamafile-0.6.2.win.zip)下载llamafile并解压得到llamafile.exe文件, 再从[https://www.modelscope.cn/models/bingal/llamafile-models/](https://www.modelscope.cn/models/bingal/llamafile-models/)下载相应的Llama 7B模型,将模型文件和llamafile.exe放在同一目录下。然后在当前目录下打开powershell命令窗口,执行命令`.\llamafile-0.6.2.exe -m.\Qwen-7B-Chat-q4_0.llamafile -ngl 9999 --port 8080 --host 0.0.0.0`,其中`-ngl 9999`表示调用GPU显卡运行,`--port 8080`是web界面访问端口,可自行修改.
zhangjiqun
2024/12/30
3060
和chatgpt一样的大模型LLaMA可以运行在pc上?
Facebook的LLaMA 模型和Georgi Gerganov 的llama.cpp的结合。 LLaMA,这是一组包含 7B 到 65B 参数的基础语言模型。我们在数万亿个令牌上训练我们的模型,并表明可以仅使用公开可用的数据集来训练最先进的模型,而无需诉诸专有和不可访问的数据集。特别是,LLaMA-13B 在大多数基准测试中都优于 GPT-3 (175B),而 LLaMA-65B 可与最佳模型 Chinchilla-70B 和 PaLM-540B 竞争。我们将所有模型发布给研究社区。
AI拉呱
2023/05/09
9710
和chatgpt一样的大模型LLaMA可以运行在pc上?
教你快速上手Xinference分布式推理框架
Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于大语言模型(LLM),语音识别模型,多模态模型等各种模型的推理。通过 Xorbits Inference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。
码之有理
2023/09/12
18K0
私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama 2,尽享Code Llama支持!
一个自托管的、离线的、类似chatgpt的聊天机器人。由美洲驼提供动力。100%私密,没有数据离开您的设备。
汀丶人工智能
2023/10/11
6700
私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama 2,尽享Code Llama支持!
LeCun转赞:在苹果M1/M2芯片上跑LLaMA!130亿参数模型仅需4GB内存
---- 新智元报道   编辑:好困 【新智元导读】现在,Meta最新的大语言模型LLaMA,可以在搭载苹果芯片的Mac上跑了! 前不久,Meta前脚发布完开源大语言模型LLaMA,后脚就被网友放出了无门槛下载链接,「惨遭」开放。 消息一出,圈内瞬间就热闹了起来,大家纷纷开始下载测试。 但那些手头没有顶级显卡的朋友们,就只能望模型兴叹了。 不过,问题不大。Georgi Gerganov在最近做了一个名为「llama.cpp」的项目——没有GPU也能跑LLaMA。 项目地址:https://githu
新智元
2023/03/29
1.7K0
LeCun转赞:在苹果M1/M2芯片上跑LLaMA!130亿参数模型仅需4GB内存
真·ChatGPT平替:无需显卡,MacBook、树莓派就能运行LLaMA
机器之心报道 编辑:小舟 Meta 发布的开源系列模型 LLaMA,将在开源社区的共同努力下发挥出极大的价值。 Meta 在上个月末发布了一系列开源大模型 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。由于模型参数量较少,只需单张显卡即可运行,LLaMA 因此被称为 ChatGPT 的平替。发布以来,已有多位开发者尝试在自己的设备上运行 LLaMA 模型,并分享经验。 虽然相比于 ChatGPT 等需要大量算力资源的超大规模的语言模型,单张
机器之心
2023/04/06
1.4K0
真·ChatGPT平替:无需显卡,MacBook、树莓派就能运行LLaMA
windows10搭建llama大模型
随着人工时代的到来及日渐成熟,大模型已慢慢普及,可以为开发与生活提供一定的帮助及提升工作及生产效率。所以在新的时代对于开发者来说需要主动拥抱变化,主动成长。
逍遥壮士
2023/09/12
1.2K0
windows10搭建llama大模型
快速上手chatglm.cpp模型量化工具
chatglm.cpp可以对ChatGLM系列的模型进行量化,满足在低性能的机器上进行推理,其使用的教程如下。
码之有理
2023/10/08
3.2K0
构建能够使用 CPU 运行的 MetaAI LLaMA2 中文大模型
本篇文章聊聊如何使用 GGML 机器学习张量库,构建让我们能够使用 CPU 来运行 Meta 新推出的 LLaMA2 大模型。
soulteary
2023/09/04
9720
构建能够使用 CPU 运行的 MetaAI LLaMA2 中文大模型
在 Mac 上运行 llama2 大模型:GPT体验攻略
首先,您需要一个命令行工具(CLI 工具)—— LLM,用于与语言模型进行交互,包括安装在您自己机器上的OpenAI、PaLM和本地模型。
Yunjie Ge
2023/09/01
2K0
在 Mac 上运行 llama2 大模型:GPT体验攻略
5种搭建LLM服务的方法和代码示例
在不断发展的大型语言模型(LLMs)领域中,用于支持这些模型的工具和技术正以与模型本身一样快的速度进步。在这篇文章中,我们将总结5种搭建开源大语言模型服务的方法,每种都附带详细的操作步骤,以及各自的优缺点。
deephub
2024/04/26
7590
5种搭建LLM服务的方法和代码示例
从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务
本篇文章聊聊,如何使用 Ollama、Dify 和 Docker 来完成本地 Llama 3.1 模型服务的搭建。
soulteary
2024/08/01
1.2K0
从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务
从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务
本篇文章聊聊,如何使用 Ollama、Dify 和 Docker 来完成本地 Llama 3.1 模型服务的搭建。
soulteary
2024/07/28
2.3K0
从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。通过 Xorbits Inference,可以轻松地一键部署你自己的模型或内置的前沿开源模型
汀丶人工智能
2024/08/17
6.6K0
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama
大型语言模型(llm)是指能够生成与人类语言非常相似的文本并以自然方式理解提示的机器学习模型。这些模型使用广泛的数据集进行训练,这些数据集包括书籍、文章、网站和其他来源。通过分析数据中的统计模式,LLM可以预测给定输入后最可能出现的单词或短语。
数据STUDIO
2023/09/04
5.3K0
本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama
构建能够使用 CPU 运行的 MetaAI LLaMA2 中文大模型
本篇文章聊聊如何使用 GGML 机器学习张量库,构建让我们能够使用 CPU 来运行 Meta 新推出的 LLaMA2 大模型。
soulteary
2023/07/24
1.2K0
本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama
在过去的几个月里,大型语言模型(llm)获得了极大的关注,这些模型创造了令人兴奋的前景,特别是对于从事聊天机器人、个人助理和内容创作的开发人员。
deephub
2023/08/30
6.4K0
本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
训练后的模型会用于推理或者部署。推理即使用模型用输入获得输出的过程,部署是将模型发布到恒定运行的环境中推理的过程。一般来说,LLM的推理可以直接使用PyTorch代码、使用VLLM/XInference/FastChat等框架,也可以使用llama.cpp/chatglm.cpp/qwen.cpp等c++推理框架。
汀丶人工智能
2024/05/28
13.2K0
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
推荐阅读
相关推荐
使用Llama.cpp在CPU上快速的运行LLM
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档