mac本地搭建ollama

news/2024/10/1 5:25:25

mac本地搭建ollama webUI

*简介:ollama-webUI是一个开源项目,简化了安装部署过程,并能直接管理各种大型语言模型(LLM)。本文将介绍如何在你的macOS上安装Ollama服务并配合webUI调用api来完成聊天。

开源地址

  • https://github.com/812781385/ollama-webUI.git,开源不易感谢star
  • 微信公众号

环境要求

  • macos系统
  • nodejs >= 18
  • 没错,其他的都不需要了

目标

  • 运行ollama
  • 启用webUI
  • 启用API服务
  • 启用RAG

安装ollama

  • 官网直接安装,ollama官网。
  • 选择macos,点击download for mac下载
  • 得到的是个压缩包,解压,然后一路next
  • 安装完成,直接使用
  • 系统可会默认启动ollama,在电脑的右上角能看到这个标记,如果没有,请看下一步

在命令行使用ollama

  • 打开终端,输入ollama -h,查看到所有的命令。

  • 点击这里搜索你需要的模型,然后直接启动,例如:ollama run llama3,可看到下载速度非常快,取决于你的宽带。

  • 下载完成,现在可以与他聊天了

  • control + D退出聊天

调用ollama的API

  • ollama提供api的形式调用,直接查看官网文档
  • ollama serve启动服务,发现端口被占用

需要点击电脑右上角的ollama图标来退出ollama,再来运行ollama serve

  • ollama服务默认是http://127.0.0.1:11434,目前在macOS上修改ip和端口无效,官方未解决(2024-5-9)。
  • 调用api会出现跨域,所以需要做一个服务端。我已经做好了,点击查看源码,感谢star

安装ollama-webUI和serve

  • git clone https://github.com/812781385/ollama-webUI.git

  • cd client

  • pnpm i

  • 修改.env 里的VITE_APP_AXIOS_BASE_URL 为自己的ip地址

  • npm run dev 运行webUI

  • cd serve

  • npm i

  • npm run dev 运行服务端

  • 浏览器访问http://localhost:8080/

  • 点击设置按钮,打开设置对话框,输入模型名称,例如:qwen:0.5b,点击按钮开始拉取模型

  • 选择刚刚拉取好的模型后,点击确定。就可以开始聊天了

使用RAG

什么是RAG,例如你问AI:你的名字叫什么?,他会告诉你他是个ai模型...,这不是我想要的答案,怎么办?有两种方式,1.训练自己的模型。2.在prompt里嵌入自己的文案。例如:你的名字叫小虎,请参考这个问题来回答: 你的名字叫什么,这时候他会回答,他的名字叫小虎。

  • 如果你要使用RAG,请先安装chroma数据库,点击查看官网文档
  • chroma run 启动数据库服务
  • 你还需拉取ollama的嵌入式模型mxbai-embed-large,点击查看官网文档
  • 然后调用serve/app/router里的接口,添加数据router.post('/addData', controller.chat.addDataForDB);
  • 在webUI的设置对话框里,开启RAG开关,就可以聊天了

模型推理内存损耗

  • 以llama2为例计算

视频演示

播放

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29671.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

如何安全高效地进行企业文档外发,一文了解!

企业文档外发是指将企业的内部文件、文档或信息发送给企业外部的个人或组织。目前使用比较多的企业文档外发的方式有以下几种,可以了解看一下: 1.邮件系统:通过电子邮件发送文档,这是最传统的文档外发方式之一。 2.即时通讯工具:如微信、QQ、企业微信、钉钉、飞书等,这些工…

Gantt图和PERT图的相关知识

1、Gantt 图Gantt图以时间为基准描述项目任务,可以清晰的描述每个任务从何时开始,到何时结束,以及每个任务的并行关系,但是不能反映项目各任务之间的依赖关系,也无法确定整个任务的关键所在。2、PERT图计划评审技术(Program Evaluation and Review Technique,简称PERT)…

C#动态查询:巧用Expression组合多条件表达式

概述:在C#中,通过`Expression`类、`AndAlso`和`OrElse`方法可组合两个`Expression<Func<T, bool>>`,实现多条件动态查询。通过创建表达式树,可轻松构建复杂的查询条件。 在C#中,可以使用AndAlso和OrElse方法组合两个Expression<Func<T, bool>>类型…

《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记

论文标题 《Decoupled Optimisation for Long-Tailed Visual Recognition》 长尾视觉识别的解耦优化 作者 Cong Cong、Shiyu Xuan、Sidong Liu、Shiliang Zhang、Maurice Pagnucco 和 Yang Song、 来自新南威尔士大学计算机科学与工程学院、北京大学计算机学院多媒体信息处理国…

Rocketmq 不同的topic要配不同的consumegroup

Rocketmq 不同的topic要配不同的consumegroup 使用Rocketmq一定要注意,如果项目中要订阅两个topic,一定要保证consumeGroup是两个不同的。这是因为,Consumer会定期发送心跳,默认是30s一次。心跳会像全部broker发送,心跳包内容包括groupname,topicname1。然后broker端会缓…

Fastjson反序列化漏洞

与原生的 Java 反序列化不同,FastJson 反序列化并未使用 readObject 方法,而是自定义了反序列化的过程Fastjson简介 Fastjson是一个Java库,可以实现json和对象之间的转换。 将数据与对象进行转化,这个操作涉及到了反序列化。 与原生的 Java 反序列化不同,FastJson 反序列化…

mysql事务

1. 事务事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 2. 控制事务控制事务一查看/设置事务提交方式SELECT @@autocommit ;SET @@autocommit = 0 ;提交事务COMMIT…

2022年windows的Visual Studio常用插件及使用手册

前景提要Viusual Studio 是一款很好用的C/C++集成开发工具,具有强大的扩展功能,好用的插件,但是,很多人都是只写了有什么插件,但是,没写怎么使用这种插件,使得使用的时候很是不方便,所以,笔者最近本着自己的学习,在这里写下自己关于好用的插件的研究,希望对您的学习/工作有帮助…