《Ollama私有化部署实战指南:本地运行大模型的最佳实践》

622 阅读3分钟

Ollama私有化部署

本地私有化部署大模型 image.png 图标: 羊驼【草泥马】

官网地址: ollama.com/

Ollama是什么

Ollama 是一款轻量级、开源的 本地大语言模型(LLM)管理 工具,核心优势是能让开发者和普通用户无需复杂的环境配置,一键在本地(Windows、macOS、Linux 等跨平台)部署、运行和管理主流 LLM,比如 Llama 3、Phi-3、Gemma、Mistral 等。

它通过简洁的 CLI(命令行)指令即可完成模型下载、启动、停止等操作,还支持自定义模型参数、微调模型,甚至能通过 API 接口与本地应用(如 Spring AI、Python 脚本)集成。相比云端调用,Ollama 无需网络、数据本地化,延迟更低,既适合 AI 开发调试,也能满足个人本地使用大模型的需求,门槛极低且灵活性高。

下载Ollama

Ollama下载地址: ollama.com/download

模型下载位置: image.png

windows系统按照Ollama软件

自定义Ollama安装路径

  1. 想安装路径下面 新建文件夹 把Ollama安装包放入里面

image.png

  1. CMD运行安装Ollama: OllamaSetup.exe /DIR=D:\onload\ollama\onload

image.png

手动创建大模型存储目录

创建系统变量OLLAMA_MODELS,创建模型不会放在C盘

OLLAMA_MODELS = D:\onload\ollama\models

image.png

复制转移大模型存储目录

创建完环境变量后,把Ollama停止,进入C盘 --> 用户 --> 自己电脑名字 --> .llama --> 复制整个models到刚刚上面新建存储目录下 复制完成后要删除C盘目录下models文件夹

image.png

重启Ollama 查看是否正常

重启Ollama 打开CMD输入Ollama list,查看大模型资源包是否能正常显示,显示正常则迁移完成,也可以直接和大模型进行提问,能回复说明也正常

1.搜索软件打开 Ollama

image.png

2.cmd check是否安装成功 1.查看版本号 image.png

2.查看端口号

查看ollama端口号: netstat -ano | findstr 11434

微服务对接本地大模型

ollama本地大模型部署

7B(20亿参数) 需要8G内存,B越大 越满血。

1.到ollama官网 search想下载的模型

image.png

2.在本地cmd 执行下载命令

ollama run qwen3:0.6b

3.本地提问

image.png

4.怎么退出 /bye

/bye退出

image.png

微服务对接本地大服务

ollama ps: 查看正在运行的服务 ollama run 模型:运行大模型

pom文件

添加 spring-ai-starter-model-ollama 依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.miao</groupId>
        <artifactId>SpringAIAlibaba-test01</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>SAA-02Ollama</artifactId>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--  模型服务灵积  调用alibaba生态的协议 对标openai协议   -->
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
            <version>1.0.0.2</version>
        </dependency>

        <!--   ollama依赖引入     -->
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-starter-model-ollama</artifactId>
            <version>1.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.38</version>
        </dependency>
    </dependencies>
</project>

改properties配置

注意是spring.ai.ollama.url 和 spring.ai.ollama.chat.model,不是dashscope

server.port=8082

#大模型对话中文UTF8编码处理
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.charset=UTF-8

spring.application.name=SAA-02Ollama

#spring-ai-alibaba config
#百炼大模型的api-key
spring.ai.dashscope.api-key=${qwen-api-key}
#本地ollama
spring.ai.ollama.url=http://localhost:11434
#本地模型name
spring.ai.ollama.chat.model=qwen3:0.6b

实现类 注入bean修改

对应使用的bean name:@Resource(name = "ollamaChatModel")

    /**
     * 文生文对话模型 ChatModel 调用ollama的chatModel
     */
//    @Resource(name = "ollamaChatModel")
//    private ChatModel chatModel;

    /**
     * 文生文对话模型 ChatModel 调用ollama的chatModel
     */
    @Autowired
    @Qualifier("ollamaChatModel")
    private ChatModel chatModel;

chatModel两个bean问题

直接知道对应使用的bean name:@Resource(name = "ollamaChatModel")

/**
 * 文生文对话模型 ChatModel 调用阿里云的百炼平台
 */
@Resource(name = "ollamaChatModel")
private ChatModel chatModel;

image.png