如何试用 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: LibreChat
    ports:
      - "${PORT}:${PORT}"
    depends_on:
      - mongodb
      - rag_api
    image: ghcr.io/danny-avila/librechat-dev:latest
    restart: always
    user: "${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: bind
        source: /opt/env/docker/ollama/librechat.yaml
        target: /app/librechat.yaml
      - type: bind
        source: /opt/env/docker/ollama/.env
        target: /app/.env
      - /opt/env/docker/ollama/images:/app/client/public/images
      - /opt/env/docker/ollama/logs:/app/api/logs
  mongodb:
    container_name: chat-mongodb
    image: mongo
    restart: always
    user: "${UID}:${GID}"
    volumes:
      - /opt/env/docker/ollama/data-node:/data/db
    command: mongod --noauth
  meilisearch:
    container_name: chat-meilisearch
    image: getmeili/meilisearch:v1.7.3
    restart: always
    user: "${UID}:${GID}"
    environment:
      - MEILI_HOST=http://meilisearch:7700
      - MEILI_NO_ANALYTICS=true
    volumes:
      - /opt/env/docker/ollama/meili_data_v1.7:/meili_data
  vectordb:
    image: ankane/pgvector:latest
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
    restart: always
    volumes:
      - pgdata2:/var/lib/postgresql/data
  rag_api:
    image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest
    environment:
      - DB_HOST=vectordb
      - RAG_PORT=${RAG_PORT:-8000}
    restart: always
    depends_on:
      - vectordb
    env_file:
      - .env

volumes:
  pgdata2:

启动 librechat

docker-compose up -d

进入 librechat

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

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

相关推荐

  1. OLLAMA如何像云端一样运行本地大语言模型

    2024-04-13 17:32:02       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 17:32:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 17:32:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 17:32:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 17:32:02       18 阅读

热门阅读

  1. 2024-04-09 问AI: 在深度学习中,dropout层是什么?

    2024-04-13 17:32:02       12 阅读
  2. python项目练习——22、人脸识别软件

    2024-04-13 17:32:02       16 阅读
  3. 手机重启手app没了

    2024-04-13 17:32:02       13 阅读
  4. 数组名的指针用法

    2024-04-13 17:32:02       15 阅读
  5. 蓝桥杯真题有奖问答

    2024-04-13 17:32:02       11 阅读
  6. day21-二叉树part08

    2024-04-13 17:32:02       13 阅读
  7. 【AI 测试】一:算法和数据结构理解

    2024-04-13 17:32:02       14 阅读