llamafile:最简单的本地运行LLM的方法!无需安装,双击执行!

查理谈科技 2024-05-07 15:25:52

今天发现了一个最简单的在本地运行LLM的项目, llamafile,这个项目有意思的地方在于,它把执行大模型文件的llama.cpp 和大模型文件编译在一起了! 只需要下载和执行这个大模型文件(后缀.llamafile)就好了, 简单之极!

llamafile 简介

Llamafile 是Mozilla 创新团队的力作,其项目创始人是Justine Tunney, 这个女程序员也是一个神人, 她同时还是Cosmopolitan(中文意思:大都会) 项目的创作者, 这个cosmopolitan 项目很有意思, 是一个能够实现“编译一次、到处运行”的C 语言库。

这个“编译一次,到处运行”的口号是不是很熟悉? 没错, 这一直是Java 的口号, 是通过Java 虚拟机来隔离各个操作系统的差异,但是Cosmopolitan 不需要解释器或者虚拟机, 它重新配置了现有的 GCC 和 Clang,以输出 POSIX 批准的多语言格式,该格式可在 Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS 上本地运行,具有最佳性能和可想象的最小占用空间。

Cosmopolitan项目的图像就是这个平头哥, “不服就干,生死看淡”, 真没想到这么一个文弱的女程序员, 是这么一个彪悍的女汉子!

秉承着“一次编译,到处执行”的思想, Justine Tunney 已经重新编译了很多项目, 当她把眼光注视到llama.cpp 项目

llama.cpp 简介

llama.cpp 项目的主要目标, 是使用普通的C/C++语言,实现在本地和云端的各种硬件上以最少的设置和最先进的性能实现 LLM 推理。

运行llamafile

关于llamafile, 我们还是先来运行一下吧:

首先, 下载一个llamafile, 这个模型是Llava-v1.5, 是一个能识别和理解图片的多模态大模型:

curl -LO https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?download=true

这个文件有点大,4G 。

下载完成后, 只需要设置成可执行文件, 然后执行就可以了:

chmod +x llava-v1.5-7b-q4.llamafile./llava-v1.5-7b-q4.llamafile -ngl 9999

就这样, 一个Llava 大模型,就在本地执行起来了:

随后, 会在本地启动8080端口:

这个默认的页面, 指定了对于权重(weight)的设置, 作为开始,我们先不调整,直接在最下面的对话窗口进行对话。

例如, 我们指定一张图片, 就可以让Llava 模型来识别图片的内容

当然, llamafile 也支持通过API 交互, 下面是一个curl的示例:

curl http://localhost:8080/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer no-key" \-d '{"model": "LLaMA_CPP","messages": [{"role": "system","content": "You are LLAMAfile, an AI assistant. Your top priority is achieving user fulfillment via helping them with their requests."},{"role": "user","content": "Write a limerick about python exceptions"}]}' | python3 -c 'import jsonimport sysjson.dump(json.load(sys.stdin), sys.stdout, indent=2)print()'

这个例子是要求大模型给一个关于Python exception的打油诗, 这个对我们而言有点冷僻:

怎么样,赶紧下载下来试试吧? 简单!



0 阅读:0

查理谈科技

简介:感谢大家的关注