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

相关文章
|
6月前
|
JSON 搜索推荐 程序员
『GitHub项目圈选15』推荐5款本周 深受程序员喜爱 的开源项目
『GitHub项目圈选15』推荐5款本周 深受程序员喜爱 的开源项目
167 1
|
6月前
|
Web App开发 前端开发 数据库
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
238 0
|
6月前
|
Web App开发 人工智能 开发者
【创意坊】探秘 GitHub 惊艳开源项目!
【创意坊】探秘 GitHub 惊艳开源项目!
99 0
|
6月前
|
SQL 前端开发 关系型数据库
人人网开源项目本地部署教程
人人网开源项目本地部署教程
184 0
|
前端开发 JavaScript 程序员
【程序员的福音】一款C#开源的GitHub加速神器
【程序员的福音】一款C#开源的GitHub加速神器
189 0
|
消息中间件 安全 JavaScript
3 个腾讯开源的 GitHub 项目,足够惊艳!
3 个腾讯开源的 GitHub 项目,足够惊艳!
|
JavaScript Java 程序员
为什么人家的开源项目文档如此炫酷?原来用的是这款神器
VuePress是Vue驱动的静态网站生成器。对比我们的Docsify动态生成网站,对SEO更加友好。 使用VuePress具有如下优点: 使用Markdown来写文章,程序员写起来顺手,配置网站非常简洁。 我们可以在Markdown中使用Vue组件,如果你熟悉Vue的话会非常方便。 打包网站时会为每个页面预渲染生成静态的HTML,性能好,也有利于SEO。
秒建炫酷的开源项目文档,这款神器用起来够优雅
学习过我的开源项目mall的朋友应该知道,我有一个使用Docsify 搭建的项目文档网站。使用Docsify搭建文档网站虽然简单,但是缺少分类、标签、SEO这类功能,随着文档越来越多,查找起来有点不方便!今天给大家推荐一个炫酷的文档主题vuepress-theme-hope,用来搭建项目文档网站正合适! vuepress-theme-hope 简介 vuepress-theme-hope是一个具有强大功能的VuePress主题,为Markdown添加了更多增强语法,可用于搭建项目文档和博客网站。支持分类和标签功能,可以让你的文档更加结构化!内置多种插件,功能强大,值得一试!
|
消息中间件 存储 设计模式
聊聊如何学习开源项目
工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。
聊聊如何学习开源项目
|
IDE Apache 开发工具
盘点开发者最喜爱的十大开源Xcode插件
Xcode IDE拥有着诸如导航、重构、校准等众多非常高大上的工具,而予以辅助的插件更是在Xcode的基础上对相关功能进行改进与扩展。在应用开发过程中,通过开源包管理器Alcatraz对插件进行安装管理,打造最为强大的开发环境,早已成为开发者们的必备功课。本文总结介绍了备受开发者喜爱的10款开源Xcode插件,涉及代码编辑、注释、管理等各个方面。
902 0
盘点开发者最喜爱的十大开源Xcode插件