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

05-13 1501阅读

首先下载 Ollama

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

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

ollama run qwen:7b

命令与模型直接交互

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

我的机器配置是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 仓库首页有个列表可以选择。

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

    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 运行本地模型 Mac M2

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

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]