【开源推荐】一个好玩的开源项目推荐--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

相关文章
|
3月前
|
Web App开发 前端开发 数据库
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
177 0
|
3月前
|
Web App开发 人工智能 开发者
【创意坊】探秘 GitHub 惊艳开源项目!
【创意坊】探秘 GitHub 惊艳开源项目!
76 0
|
2月前
|
分布式计算 算法 Java
imageJ二次开发之旅 – imageJ开源项目介绍
imageJ二次开发之旅 – imageJ开源项目介绍
66 2
|
3月前
|
SQL 前端开发 关系型数据库
人人网开源项目本地部署教程
人人网开源项目本地部署教程
107 0
|
前端开发 JavaScript 程序员
【程序员的福音】一款C#开源的GitHub加速神器
【程序员的福音】一款C#开源的GitHub加速神器
165 0
|
设计模式 JSON 前端开发
我的开源项目与开源经历分享
一位93年的前端开发者从一个开源门外汉变成了一个开源发起者,项目已经1K+ Star,分享一下自己的开源项目和开源历程,供大家参考。
|
消息中间件 存储 设计模式
聊聊如何学习开源项目
工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。
聊聊如何学习开源项目
|
SQL JSON 前端开发
聊聊这个倾注10年的开源项目,如何一步步火爆GitHub!
聊聊这个倾注10年的开源项目,如何一步步火爆GitHub!
1205 0
聊聊这个倾注10年的开源项目,如何一步步火爆GitHub!
|
SQL JSON 前端开发
聊聊这个开源项目,如何一步步火爆GitHub!
近几年悟空CRM开源项目在GitHub和码云上迅速蹿红,并获得了上千用户的关注。目前累计2,000,000下载量。社区人数达到30,000多人。在国内浩瀚的开源市场,悟空CRM在开源道路上倾注10多年的心血。
747 0
|
测试技术 uml 开发者