前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github 星标 16.4K:只需一个单文件,即可本地轻松运行 LLM 的神器

Github 星标 16.4K:只需一个单文件,即可本地轻松运行 LLM 的神器

作者头像
iMike
发布2024-06-14 13:50:25
1190
发布2024-06-14 13:50:25
举报
文章被收录于专栏:运维之美运维之美

在当今信息化时代,人工智能(AI)技术逐渐成为推动社会发展的重要力量。而大型语言模型(LLM)作为 AI 领域中的一项重要技术,正在各行各业中发挥着越来越重要的作用。

然而,对于许多开发者和终端用户来说,如何高效地分发和运行这些复杂的模型仍然是个棘手的问题。 LLAMAfile 一个由 Mozilla Ocho 团队开发的工具,旨在解决这些问题。它提供一种高效分发和运行大型语言模型(LLM)的简易工具,

LLAMAfile 通过将 llama.cpp 和 Cosmopolitan Libc 结合,使 LLM 以单一文件的形式运行在大多数计算机上,无需额外安装配置。

快速入门

使用 LLAMAfile 的最快方法是下载我们为 LLaVA 模型提供的示例文件。

LLaVA 是一种功能强大的 LLM,不仅可以进行聊天,还能通过上传图片并对其提问来提供图像识别功能。所有这些都可以在本地计算机上进行,数据不会离开你的设备。

你只需下面几步,便可轻松在本地计算机上轻松运行 LLaVA 模型。

下载 LLaVA 示例文件:llava-v1.5-7b-q4.llamafile (4.29 GB)

代码语言:javascript
复制
$ wget https://huggingface.co/Mozilla/llava-v1.5-7b-llamafile/resolve/main/llava-v1.5-7b-q4.llamafile?download=true

打开计算机的终端。

如果使用 macOS、Linux 或BSD,需要授予文件执行权限:

代码语言:javascript
复制
$ chmod +x llava-v1.5-7b-q4.llamafile

对于 Windows 用户,重命名文件并添加 ".exe" 后缀。

运行 llamafile:

代码语言:javascript
复制
./llava-v1.5-7b-q4.llamafile

浏览器将自动打开并显示聊天界面。如果没有,请手动打开浏览器并访问 <http://localhost:8080>

聊天结束后,返回到终端并按 Control-C 关闭 LLAMAfile。

JSON API 快速入门

LLAMAfile 启动时,除了托管一个 Web UI 聊天服务器外,还提供了兼容 OpenAI API 的聊天 API 端点。该 API 旨在支持大多数常见的 OpenAI API 用例,并完全在本地运行。通过以下 curl 命令,可以快速开始使用 API:

代码语言:javascript
复制
$ 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 json
import sys
json.dump(json.load(sys.stdin), sys.stdout, indent=2)
print()
'

打印出来的回复应该如下所示:

代码语言:javascript
复制
{
   "choices" : [
      {
         "finish_reason" : "stop",
         "index" : 0,
         "message" : {
            "content" : "There once was a programmer named Mike\nWho wrote code that would often choke\nHe used try and except\nTo handle each step\nAnd his program ran without any hike.",
            "role" : "assistant"
         }
      }
   ],
   "created" : 1704199256,
   "id" : "chatcmpl-Dt16ugf3vF8btUZj9psG7To5tc4murBU",
   "model" : "LLaMA_CPP",
   "object" : "chat.completion",
   "usage" : {
      "completion_tokens" : 38,
      "prompt_tokens" : 78,
      "total_tokens" : 116
   }
}

Python API 客户端示例

如果您已经使用 openAI 发布的 openai Python 软件包开发了自己的软件,那么只需对 base_url 和 api_key 稍作修改,您就可以将自己的应用程序移植到 LLAMAfile上。

本示例假定你已经运行 pip3 install openai 安装了 OpenAI 的客户端软件,这也是本示例所需要的。他们的软件包只是 OpenAI API 接口的一个简单 Python 封装,任何服务器都可以实现。

代码语言:javascript
复制
#!/usr/bin/env python3
from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:8080/v1", # "http://<Your api-server IP>:port"
    api_key = "sk-no-key-required"
)
completion = client.chat.completions.create(
    model="LLaMA_CPP",
    messages=[
        {"role": "system", "content": "You are ChatGPT, 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"}
    ]
)
print(completion.choices[0].message)

其他 LLAMAfile 示例

我们还提供了其他模型的 LLAMAfile 示例,因此您可以轻松地使用不同类型的 LLM 试用 LLAMAfile。

🏷️ Github 地址:

https://github.com/Mozilla-Ocho/llamafile

🏷️ 官方地址:

https://llamafile.ai/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奇妙的Linux世界 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速入门
    • JSON API 快速入门
      • Python API 客户端示例
      • 其他 LLAMAfile 示例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档