【开源推荐】一个好玩的开源项目推荐--llamafile

简介: 【6月更文挑战第8天】

github上15.9k star的开源项目,好玩到飞起

是个啥项目呢?

LLM大模型有很多,前面也介绍了蛮多可以集成为知识库的,但是大多操作还是有些复杂的。

如果你想要自己尝试玩一下本地部署,又不想复杂,那么这个项目可以关注下,它只需要用一个单文件启动就可以

llamafile简介

如果你对open LLMS有一些了解,那么这个项目也很好理解,它就是将将llama.cpp与Cosmopolitan Libc组合生成一个单个的执行文件,可以让开发或者用户更佳快捷的访问到open LLM

llamafile特点

  • 单文件分发:用户可以通过一个文件分发和运行LLM,无需其他依赖。
  • 本地执行:所有操作都在用户的计算机上本地完成,不会有数据离开用户的设备。
  • 易于部署:用户只需下载一个 "llamafile" 文件,就可以立即开始使用。
  • 支持图片上传和问题回答:除了聊天功能,LLaVA模型还支持图片上传和相关问题的回答。
  • 兼容OpenAI API:提供了与OpenAI API兼容的聊天完成端点,支持本地运行的最常见OpenAI API用例。
  • 扩展功能:包括特定于 "llama.cpp" 的功能,如 "mirostat"。

快速部署和测试

  1. 访问 "llamafile" 项目页面,下载示例 "llamafile",例如 "llava-v1.5-7b-q4.llamafile"。
  2. 在计算机的终端中打开下载的文件。对于macOS、Linux或BSD用户,需要先授权计算机执行新文件(只需一次):
    chmod +x llava-v1.5-7b-q4.llamafile
    
    如果是Windows用户,需要将文件重命名,添加 ".exe" 后缀。
  3. 运行 "llamafile",例如:
    ./llava-v1.5-7b-q4.llamafile
    
    浏览器应该会自动打开并显示聊天界面。如果没有,只需打开浏览器并指向 http://127.0.0.1:8080/
  4. 完成聊天后,返回终端并按 Control-C 关闭 "llamafile"。

api客户端示例

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()
'

返回结果

{
   "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
   }
}

结论

"llamafile" 项目是Mozilla-Ocho为了使开放LLM更加易于访问而做出的重要贡献。

它通过一个简单的文件,为开发者和用户提供了一个强大而直观的工具,使他们能够轻松地在本地运行和测试LLM,而无需担心数据隐私问题。

传送门:https://llamafile.ai/

开源地址:https://github.com/Mozilla-Ocho/llamafile

相关文章
|
算法 数据处理 C++
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
1488 1
|
7月前
|
数据可视化 数据挖掘 BI
|
2月前
|
Ubuntu IDE 开发工具
修复Ubuntu启动时提示"无可启动设备"的问题。
上述步骤旨在提供一套综合的诊断与修复策略。在操作过程中应当小心谨慎,尤其是所有与分区表相关的操作,因为一旦不当操作可能导致数据丢失。若非专业人士则建议在进行重要操作之前备份数据,并在实施修复措施时考虑寻求专业技术人员的帮助。
195 0
|
7月前
|
算法 应用服务中间件 网络安全
阿里云WoSign“国密RSA双SSL证书”应用实践
阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发国密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供国密模块支持,实现“国密/RSA双证书部署”。
656 6
阿里云WoSign“国密RSA双SSL证书”应用实践
|
前端开发 JavaScript Python
【Django】Django4.1.2使用xadmin避坑指南(二)
【Django】Django4.1.2使用xadmin避坑指南(二)
|
Linux 网络安全 数据安全/隐私保护
配置ssh免密登录
配置ssh免密登录
481 106
|
JSON 数据格式
Uncaught SyntaxError: JSON.parse: expected property name or '}' at line 1 column 14 of the JSON data问题如何处理
【6月更文挑战第15天】Uncaught SyntaxError: JSON.parse: expected property name or '}' at line 1 column 14 of the JSON data问题如何处理
549 5
|
10月前
|
人工智能 物联网 PyTorch
ChatTTSPlus:开源文本转语音工具,支持语音克隆,是 ChatTTS 的扩展版本
ChatTTSPlus 是一个开源的文本转语音工具,是 ChatTTS 的扩展版本,支持语音克隆、TensorRT 加速和移动模型部署等功能,极大地提升了语音合成的性能和灵活性。
679 5
ChatTTSPlus:开源文本转语音工具,支持语音克隆,是 ChatTTS 的扩展版本
|
11月前
|
自然语言处理 小程序 IDE
只要几句话,通义灵码帮你创建专属健康管理小程序
数字时代的大潮中,编程不再高深莫测,而是每个人都可以尝试并享受的乐趣。今天,就让我们一起探索如何利用通义灵码的自然语言生成代码功能,轻松打造你的专属健康管理小程序,说不定在这个过程中,不管是身材管理,还是编程学习,都能让你离目标更近一步。
|
12月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
190 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练