如何试用 Ollama 运行本地模型 Mac M2

首先下载 Ollama

https://github.com/ollama/ollama/tree/main

安装完成之后,启动 ollma 对应的模型,这里用的是 qwen:7b

ollama run qwen:7b

命令与模型直接交互
在这里插入图片描述
我的机器配置是M2 Pro/ 32G,运行 7b 模型毫无压力,而且推理时是用 GPU 进行运算的,可能就是 Ollama 底层是用 llama C++ 实现的,底层做了性能优化,对 Mac特别友好。

  • 纯C/C++实现,没有任何依赖
  • Apple Silicon 支持 - 通过ARM NEON、Accelerate和Metal框架进行优化
  • 对x86架构支持AVX、AVX2和AVX512
  • 支持1.5位、2位、3位、4位、5位、6位和8位整数量化,以加快推理速度并减少内存使用
  • 为NVIDIA GPU运行LLMs的自定义CUDA核心(通过HIP支持AMD GPU)
  • 支持Vulkan、SYCL和(部分)OpenCL后端
  • CPU+GPU混合推理,部分加速超过总VRAM容量的模型

下次再试试lammafile,就是前两天Google 那个女大神说跟比llama.cpp相比,她把 llamafile 的性能提高了 1.3x 到 5x。

API 调用Ollama

stream 参数控制是否是流式输出,非流式的速度会慢一些。
curl http://localhost:11434/api/generate -d ‘{
“model”: “qwen:7b”,
“prompt”: “你好”,
“stream”: true
}’

启动客户端访问本地 Ollama

首先把客户端代码 clone 到本地,这里我用的是 https://librechat.ai/ ,选择挺多的,Ollama github 仓库首页有个列表可以选择。
在这里插入图片描述

Clone 仓库

Docker env 配置
根目录下有个配置文件 .env.example,复制一个新的 .env,如果是本地运行,不对外服务,默认配置就可以。

Ollama 配置

配置 Ollama 的相关参数,将librechat.example.yaml复制一个到librechat.yaml,添加 ollama 的相关配置信息。
两个地方要注意修改一下

  1. /opt/env开始路径要改为本机正确的位置。
  2. Ollama API 的访问地址。
version: "3.4"# Do not edit this file directly. Use a ‘docker-compose.override.yaml’ file if you can.
# Refer to `docker-compose.override.yaml.example’ for some sample configurations.services:api:container_name: LibreChatports:- "${PORT}:${PORT}"depends_on:- mongodb- rag_apiimage: ghcr.io/danny-avila/librechat-dev:latestrestart: alwaysuser: "${UID}:${GID}"extra_hosts:- "host.docker.internal:host-gateway"environment:- HOST=0.0.0.0- MONGO_URI=mongodb://mongodb:27017/LibreChat- MEILI_HOST=http://meilisearch:7700- RAG_PORT=${RAG_PORT:-8000}- RAG_API_URL=http://rag_api:${RAG_PORT:-8000}volumes:- type: bindsource: /opt/env/docker/ollama/librechat.yamltarget: /app/librechat.yaml- type: bindsource: /opt/env/docker/ollama/.envtarget: /app/.env- /opt/env/docker/ollama/images:/app/client/public/images- /opt/env/docker/ollama/logs:/app/api/logsmongodb:container_name: chat-mongodbimage: mongorestart: alwaysuser: "${UID}:${GID}"volumes:- /opt/env/docker/ollama/data-node:/data/dbcommand: mongod --noauthmeilisearch:container_name: chat-meilisearchimage: getmeili/meilisearch:v1.7.3restart: alwaysuser: "${UID}:${GID}"environment:- MEILI_HOST=http://meilisearch:7700- MEILI_NO_ANALYTICS=truevolumes:- /opt/env/docker/ollama/meili_data_v1.7:/meili_datavectordb:image: ankane/pgvector:latestenvironment:POSTGRES_DB: mydatabasePOSTGRES_USER: myuserPOSTGRES_PASSWORD: mypasswordrestart: alwaysvolumes:- pgdata2:/var/lib/postgresql/datarag_api:image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latestenvironment:- DB_HOST=vectordb- RAG_PORT=${RAG_PORT:-8000}restart: alwaysdepends_on:- vectordbenv_file:- .envvolumes:pgdata2:

启动 librechat

docker-compose up -d

进入 librechat

浏览器进入http://localhost:3080/,选择 Ollama,模型 qwen:7b,很像 chatgpt。

在这里插入图片描述
Ollama 搭建完成,可以在本地使用模型了,我机器上可以比较顺畅的运行 qwen:14b。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Proteus】蜂鸣器播放音乐

按键按一次&#xff0c;蜂鸣器响一次 &#xff0c;LCD1602同步。 #include <REGX52.H> #include <INTRINS.H>unsigned int keynum; sbit RSP3^0; //** sbit RWP3^1; //** sbit EP3^2; //** sbit buzzerP1^5; void delay(unsigned int n)//1ms {unsigned char a,…

数字藏品app开发

数字藏品是指使用区块链技术&#xff0c;对应特定的作品、艺术品生成的唯一数字凭证。在保护其数字版权的基础上&#xff0c;数字藏品实现了真实可信的数字化发行、购买、收藏和使用。数字藏品是数字出版物的一种新形态&#xff0c;具有唯一的IP数字身份和所有权信息&#xff0…

用Amazon Bedrock上最新模型Claude3 Opus制作网页小游戏

2024年4月16日&#xff0c;亚马逊云科技官方发布Anthropic Claude系列最强模型 Claude 3 Opus现已在Amazon Bedrock平台上正式可用&#xff0c;这一更新对于亚马逊云科技的用户和开发者们来说是个重大的好消息。因为企业云端应用可以更便捷、安全地集成Claude 3 Opus的API&…

Ubuntu 部署ChatGLM3大语言模型

Ubuntu 部署ChatGLM3大语言模型 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。 源码&#xff1a;https://github.com/THUDM/ChatGLM3 部署步骤 1.服务器配置 Ubuntu 20.04 8核(vCPU) 32GiB 5Mbps GPU NVIDIA T4 16GB 硬盘 100GiB CUDA 版本 12.2.2/…

[2021最新]Java时间戳和日期时间互转换

代码&#xff1a; import java.text.ParseException; import java.text.SimpleDateFormat;public class MainProcess {public static void main(String[] args) throws ParseException {// 1.set formatSimpleDateFormat timeSmat new SimpleDateFormat("yyyy-MM-dd HH:…

多模态之ALBEF—先对齐后融合,利用动量蒸馏学习视觉语言模型表征,学习细节理解与论文详细阅读:Align before Fuse

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation &#xff08;ALBEF&#xff09;在融合之前对齐&#xff1a;利用动量蒸馏进行视觉与语言表示学习 Paper: arxiv.org/pdf/2107.07651.pdf Github: https://github.com/salesforce/…

从零实现诗词GPT大模型:数据集介绍和预处理

专栏规划: https://qibin.blog.csdn.net/article/details/137728228 本章将介绍该系列文章中使用的数据集&#xff0c;并且编写预处理代码&#xff0c;处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry&#xff0c;是一个在github上开源的中文诗…

[svelte]属性和逻辑块

属性 / Default values • Svelte 教程 | Svelte 中文网 属性 Declaring props 到目前为止&#xff0c;我们只处理了内部状态——也就是说&#xff0c;这些值只能在给定的组件中访问。 在任何实际应用程序中&#xff0c;都需要将数据从一个组件向下传递到其子组件。为此&…

IO基础合集

IO基础合集 1. File类1.1 概述1.2 构造方法1.3 常用方法获取功能的方法绝对路径和相对路径判断功能的方法创建删除功能的方法 1.4 目录的遍历 2. IO概述2.1 什么是IO2.2 IO的分类2.3 IO的流向说明图解2.4 顶级父类们 3. 字节流3.1 一切皆为字节3.2 字节输出流【OutputStream】3…

Buck变换电路

Buck变换电路 Buck变换电路是最基本的DC/DC拓扑电路&#xff0c;属于非隔离型直流变换器&#xff0c;其输出电压小于输入电压。Buck变换电路具有效率高、输出稳定、控制简单和成本低的优点&#xff0c;广泛应用于稳压电源、光伏发电、LED驱动和能量回收系统。 电路原理 Buck变…

SV-29810T-蓝牙无线IP网络多功能多媒体防水音柱

SV-29810T-蓝牙无线IP网络多功能多媒体防水音柱 ◆室外室内豪华型防水音柱式一体化网络音频解码扬声器&#xff0c;用于广播分区音频解码、声音还原作用 ◆应用场地如火车站、地铁、教堂、工厂、仓库、公园停车场及露天市场等&#xff1b;室外使用效果均佳。 产品特点&#…

每日两题2

不同路径 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m1, vector<int>(n1,0));//创建dp表dp[0][1] 1;//初始化//填表for(int i 1; i < m; i){for(int j 1; j < n; j){dp[i][j] dp[i-1][j] dp[i][j-1];}}ret…