07
2025
04
21:22:44

WSL安装使用Ollama

文章目录

  • 1. 下载安装Ollama

  • 2. 下载模型

  • 3. 访问

  • 4. 自定义模型存放和运行


    • 4.1. ollama用户启动

    • 4.2. 当前用户运行

    • 4.3. 自定义模型存放目录

  • 5. 运行多个模型

  • 6. Troubleshooting


    • 6.1. bind: address already in use

    • 6.2. Connection refused


1. 下载安装Ollama

打开ubuntu终端,执行:curl -fsSL https://ollama.com/install.sh | sh
WSL安装使用Ollama
安装成功后,默认ollama已经运行在后台

  1. 查看状态:sudo systemctl status ollama
    WSL安装使用Ollama

  2. 查看进程:sudo ps -ef | grep -v color | grep ollama WSL安装使用Ollama

  3. 查看端口

    1. 先安装:sudo apt install net-tools

    2. 查看:sudo netstat -anp | grep 11434 WSL安装使用Ollama

2. 下载模型

  1. 查看本地模型:ollama list
    WSL安装使用Ollama
    本地还没有模型

  2. 下载llama3:ollama pull llama3

  3. 查看现有模型:ollama list

    NAME            ID              SIZE    MODIFIED
    llama3:latest   a6990ed6be41    4.7 GB  2 minutes ago

3. 访问

  1. API请求方式

    curl http://localhost:11434/api/chat -d '{
      "model": "llama3",
      "messages": [
        { "role": "user", "content": "why is the sky blue?" }
      ]
    }'

    或者

    # 安装json解析工具sudo apt update && sudo apt install jq -y# 非流式访问,并将结果用json格式输出curl -s http://localhost:12345/api/chat -d '{
      "model": "llama3",
      "messages": [
        { "role": "user", "content": "你好?" }
      ],
       "stream": false
    }' | jq
  2. 交互式对话:ollama run llama3

  3. python代码

    1. 安装langchain:pip install -U langchain

    2. 查看ollama服务的IP:ip addr
      WSL安装使用Ollama

    3. 运行

      from langchain.llms.ollama import Ollamafrom langchain.chat_models.ollama import ChatOllama
      
      llm = Ollama(model="llama3", base_url='http://172.18.205.189:12345')print(llm.invoke('hello'))chat = ChatOllama(model="llama3", base_url='http://172.18.205.189:12345')print(chat.invoke('hello'))

4. 自定义模型存放和运行

4.1. ollama用户启动

  1. ollama服务默认以ollama用户启动运行在后台
    WSL安装使用Ollama

  2. 直接使用ollama pull <模型名>下载模型时,它会存于/usr/share/ollama/.ollama/models/下,执行:du /usr/share/ollama/.ollama/models/ -d 1 -h

    20K     /usr/share/ollama/.ollama/models/manifests4.4G    /usr/share/ollama/.ollama/models/blobs4.4G    /usr/share/ollama/.ollama/models/

4.2. 当前用户运行

  1. 执行ollama serve开启ollama服务,它是以当前用户启动运行的,会在用户的home目录下创建.ollama文件夹。
    相当于执行OLLAMA_HOST=127.0.0.1:11434 ollama serve,所以当11434被占用了,就会报Error: listen tcp 127.0.0.1:11434: bind: address already in use

  2. 指定监听所有IP和指定端口:OLLAMA_HOST=0.0.0.0:<端口> ollama serve

  3. 执行ollama pull <模型名>时,相当于执行OLLAMA_HOST=http://localhost:11434 ollama pull <模型名>,若当前是ollama是以ollama用户启动的,则它会将模型下载到/usr/share/ollama/.ollama/models/中,若是以当前用户启动的,则会下载到~/.ollama/models/blobs

  4. 执行ollama list,没指定OLLAMA_HOST环境变量,也是同ollama pull一样,使用默认值

4.3. 自定义模型存放目录

  1. 第一种方式:
    启动时指定模型路径:OLLAMA_MODELS=/mnt/d/models/.ollama/models OLLAMA_HOST=0.0.0.0:12345 ollama serve

  2. 第二种方式:

    1. 在执行ollama serve后,将~/.ollama文件夹直接剪切到另一个地方,比如/mnt/d/models/

    2. 删除~/.ollama文件夹

    3. 建立软链接:ln -s /mnt/d/models/.ollama ~/.ollama
      WSL安装使用Ollama

    4. 启动:OLLAMA_HOST=0.0.0.0:12345 ollama serve

  3. 执行OLLAMA_HOST=http://127.0.0.1:12345 ollama pull qwen下载模型,它就会将模型下载到/mnt/d/models/.ollama/models

  4. 查看本地模型:OLLAMA_HOST=http://localhost:12345 ollama list
    WSL安装使用Ollama

5. 运行多个模型

ollama好像和fastchat不一样,一次只能启动一个模型,当访问另一个模型时,它就会自动卸载当前模型加载另一个模型。所以土办法是启多个服务,每个服务只让访问一个模型?

6. Troubleshooting

6.1. bind: address already in use

执行ollama serve时,报
WSL安装使用Ollama
说明端口已经被占用

  1. 要么使用sudo netstat -anp | grep <端口>,找出使用该端口的进程,将其kill掉

  2. 要么指定端口启动:OLLAMA_HOST=0.0.0.0:12345 ollama serve

6.2. Connection refused

执行

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

curl: (7) Failed to connect to localhost port 11434 after 0 ms: Connection refused,说明ollama服务没有启动

  1. 以ollama用户启动:sudo systemctl start ollama

  2. 以当前用户启动:OLLAMA_HOST=0.0.0.0:11434 ollama serve




推荐本站淘宝优惠价购买喜欢的宝贝:

WSL安装使用Ollama

本文链接:https://hqyman.cn/post/10169.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: