Windows11上Ollama的使用

可以本地搭建自己的本地大模型,可以成为自己本地的一个ai助手,下面是简单案例。

一、下载Ollama

下载这个貌似是直接下载在c盘,但是下载大模型注意,可以换盘!!!

下载地址:Download Ollama on macOS

 

下载完成直接双击那个下载包,按着下载。

二、配置环境变量

注意,记得配置环境变量!!!

注意,记得重启电脑!!!

别问为啥,问就是当你下载几十g的大模型在c盘,细品,可以通过修改环境变量,当你也以为万事大吉了,点击下载,几十g的大模型还在c盘,细品!!!所以记得重启电脑。

在高级系统变量里面配置:

新建一个环境变量:

变量名:OLLAMA_MODELS

变量值:D:\developApp\Ollama  //这里写你打算放大模型的位置

配置好环境变量,重启电脑!!!

三、拉取大模型

这里我举个拉取阿里的qwen这个大模型的例子:library

 这里我选择最小的下载,chat是指只支持聊天,当然越大功能越强大。

复制上面的指令去你之前配置环境变量那个位置,打开cmd。

ollama run qwen:0.5b-chat

下载完成,下面你可以看到你配置环境变量的那个包里面有两个文件夹。

 拉取的模型可以在存储目录blobs下看到

四、默认 Ollama api 监听的端口

默认 Ollama api 会监听 11434 端口。

netstat -ano | findstr 11434

四、代码

(1)配置maven

和其他chat项目一样,springboot3+,jdk17+,springai坐标,还要配置外部仓库

            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
                <version>0.8.1</version>
            </dependency>
<!--配置本项目的仓库:因为maven中心仓库还没有更新spring ai的jar包-->
    <repositories>
        <!--        &lt;!&ndash;快照版本的仓库&ndash;&gt;-->
        <!--        <repository>-->
        <!--            <id>spring-snapshot</id>-->
        <!--            <name>Spring Snapshots</name>-->
        <!--            <url>https://repo.spring.io/snapshot</url>-->
        <!--            <releases>-->
        <!--                <enabled>false</enabled>-->
        <!--            </releases>-->
        <!--        </repository>-->

        <!--里程碑版本的仓库-->
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
(2)yml配置
spring:
  application:
    name:  #写你的项目名

  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: qwen:0.5b-chat
 (3)写接口
@RestController
public class OllamaController {

    @Resource
    private OllamaChatClient ollamaChatClient;

    public Object ollama(@RequestParam(value = "msg",defaultValue = "给我讲一个笑话") String msg) {
        String called = ollamaChatClient.call(msg);
        System.out.println(called);
        return called;
    }

    @RequestMapping(value = "/ai/ollama2")
    public Object ollama2(@RequestParam(value = "msg",defaultValue = "给我讲一个笑话") String msg) {
        ChatResponse chatResponse = ollamaChatClient.call(new Prompt(msg, OllamaOptions.create()
                .withModel("qwen:0.5b-chat") //使用哪个大模型
                .withTemperature(0.4F))); //温度,温度值越高,准确率下降,温度值越低,准确率会提高

        System.out.println(chatResponse.getResult().getOutput().getContent());
        return chatResponse.getResult().getOutput().getContent();
    }

}

    

测试:http://localhost:8080/ai/ollama

成功!!

### 部署环境准备 为了在 Windows 11 上成功部署 Ollama 私有大模型,需先确认系统已安装 Docker Desktop 并启动 WSL2 (Windows Subsystem for Linux 2),因为 Ollama 的运行依赖于这些组件[^1]。 ### 安装Docker Desktop与WSL2配置 确保 Docker Desktop 已更新至最新版本,并开启实验性功能中的“Use the new WSL 2 based engine”。接着,在 PowerShell 或者命令提示符下执行 `wsl --install` 来设置默认的 WSL 发行版。如果需要特定发行版,则可以通过 `wsl --list --online` 查找并用 `wsl --install -d <DistributionName>` 命令来指定安装。 ### 获取Ollama镜像及初始化 完成上述准备工作之后,打开终端窗口(建议使用 Git Bash 或 Ubuntu on WSL),输入如下指令获取官方提供的 Ollama 镜像: ```bash docker pull ollama/ollama:latest ``` 这一步骤会下载最新的 Ollama 映像文件到本地环境中。 ### 创建ModelFile定义自定义模型 对于想要导入的具体模型,比如基于Mistral架构的7B参数量级优化后的量化版本,应当编写一个名为 ModelFile 的文本文件,其内容类似于下面这样: ```text FROM Mistral-7B-v0.3_Q4.bin ``` 此文件指定了所使用的预训练权重路径以及可能存在的其他必要配置项[^3]。 ### 下载目标模型 利用之前提到过的命令行工具拉取所需的 LLaMA 版本,这里以 llama3.1 为例说明操作流程: ```bash ollama pull llama3.1 ``` 这条语句将会把对应的大规模语言模型加载进来以便后续调用[^2]。 ### 启动服务端口映射 为了让宿主机能够访问容器内部的服务,还需要做端口转发处理。假设要监听外部请求的话可以在启动时加上 `-p` 参数绑定相应端口号: ```bash docker run -it --rm -p 8000:8000 ollama/ollama:latest ``` 此处假定 API 接口位于容器内的 8000 端口上工作;而外界可通过 IP 地址加冒号再跟上相同编号来进行交互。 ### 使用Python脚本测试接口连通性 最后,可以借助简单的 Python 脚本来验证整个过程是否顺利完成。例如发送 POST 请求给刚才暴露出来的 HTTP RESTful API: ```python import requests url = 'http://localhost:8000/api/v1/predict' data = {"prompt": "你好"} response = requests.post(url, json=data) print(response.json()) ``` 以上代码片段展示了如何向刚刚搭建好的服务器发起预测请求,并打印返回的结果数据结构体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乄bluefox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值