大模型本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南(附教程)

Ollama 结合 Open-WebUI 在本地运行大语言模型 OLLAMA_KEEP_ALIVE=-1,模型加载后,默认的Keepalive是5分钟,修改为-1可以让模型持续启动,OLLAMA_KEEP_ALIVE=60 表示 60 秒,OLLAMA_KEEP_ALIVE=10m 表示10分钟。根据Docker Hub ollama主页 https://hub.docker.com/r/ollama/ollama [1],快速启动容器,注意,:它将模型权重、配置和数据捆绑到一个包中,称为 Modelfile,这有助于优化设置和配置细节,包括 GPU 使用情况。 阅读详情

本文介绍如何使用 Ollama 在本地部署 Llama 3.1:8B 模型,并通过 OpenWeb UI 和 Spring AI 来增强模型交互体验和简化 API 的调用过程。

在这里插入图片描述

Ollama

Ollama 是一个开源的大语言模型服务工具,旨在简化大模型的本地部署和运行过程。用户只需要输入一行命令(如: ollama run llama3.1 ),即可在本地硬件环境中部署和使用大语言模型。Ollama 还提供了 REST API 接口,下文中会介绍如何使用 Spring AI 集成 Ollama,实现与大模型 API 接口的交互。

Ollama 支持下载 Llama、Gemma、qwen 和 glm4 等多种主流大语言模型和代码语言模型,我们可以在 官网 查看 Ollama 支持的所有模型及其相关信息和使用命令。 本机运行 7B 参数量的模型至少需要 8GB 内存,运行 13B 参数量的模型至少需要 16GB 内存,运行 33B 参数量的模型至少需要 32GB 内存。

模型参数大小使用命令
Llama 3.18B4.7GBollama run llama3.1
Llama 3.170B40GBollama run llama3.1:70b
Llama 3.1405B231GBollama run llama3.1:405b
Gemma 29B5.5GBollama run gemma2
Gemma 227B16GBollama run gemma2:27b
qwen27B4.4GBollama run qwen2
qwen272B41GBollama run qwen2:72b
glm49B5.5GBollama run glm4

下载

访问 Ollama 官网,选择操作系统,然后点击 download 按钮进行下载。操作系统要求 MacOS 11 和 Windows 10 及以上版本。下载完成后的 Ollama 其实是一个命令行工具,我们可以直接在终端中使用 Ollama。(执行 ollama --help 可查看 Ollama 提供的的命令)

在这里插入图片描述

部署 Llama 3.1

在终端中执行命令 ollama run llama3.1 ,即可下载 Llama3.1:8B 模型。模型下载完成后,会自动启动大模型,进入命令行交互模式,直接输入指令,就可以和模型进行对话了。

在这里插入图片描述

通过 Ollama,我们轻松的实现了本地大模型的部署和命令行式的交互,但是为了更好的使用大模型,以及对大模型进行管理和配置等方面的需求,就需要借助 Ollama 社区中一些强大的工具了,其中代表性的工具之一是 OpenWeb UI(之前称为 Ollama WebUI)。

OpenWeb UI

OpenWeb UI 是一个功能丰富且易于使用的大模型管理工具,它为用户提供了一个直观的图形化界面,以及广泛的功能和灵活的配置选项。

  • 方便部署:使用 Docker 实现简单快捷的部署。
  • 用户友好的页面:国际化多语言支持,提供多种主题样式,响应式设计,模型参数、Prompt 等便捷配置。
  • 功能丰富:本地 RAG 支持,Web 浏览功能(可以在对话中访问网站),语音交互等。
  • API 支持:支持 OpenAI API 和其他兼容 API。
  • 多模型支持:支持同时管理和操作多个大语言模型。

下载

部署 OpenWeb UI 需要使用 Docker 环境,我本机的 Docker 版本是 24.0.2。OpenWeb UI 提供了集成 Ollama 的部署方式, 因为 Ollama 已经下载到我本机上了,所以只需要执行以下命令即可完成部署。

sh
 代码解读
复制代码
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

容器启动成功后,可以访问 3000 端口,查看页面。首次登陆需要先填写邮箱和密码注册账号。登陆进来后,可以看到,OpenWeb UI 已经自动加载到了我们本地部署的 Llama3.1 模型。

在这里插入图片描述

在模型编辑页面,我们可以修改模型的配置参数和 Prompt 等信息,并利用 Document 和 Tools 等工具来增强模型的能力和使用体验。

在这里插入图片描述

Spring AI

Spring AI 是 Spring 生态里人工智能方向的应用框架,它提供了与各种大语言模型交互的高级抽象接口,极大地简化了Java 人工智能应用程序的开发过程,让 Java 开发者也能够开发 AI 应用。

接下来将详细介绍 Spring AI 的使用流程,以及如何调用 Ollama 的 API 接口,与我们本地的 Llama 3.1 进行交互。

集成 Ollama

  1. 创建一个新的 Spring Boot 项目,版本要求 Spring Boot 3 + JDK 17。
  2. 引入 Spring AI + Ollama 依赖。
xml
 代码解读
复制代码
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.cleaner</groupId>
    <artifactId>culture-ai</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Cleaner-ai</name>
    <description>culture-ai</description>
    <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
    </properties>
    <dependencies>
        <!-- ollama -->
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
        <!-- spring ai -->
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <!-- spring ai -->
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>


</project>
  1. 编写 application.yaml 配置文件,添加 Ollama 的相关配置。
yaml
 代码解读
复制代码
server:
  port: 8888
spring:
  application:
    name: Cleaner-AI
  ai:
    ollama:
      # ollama API Server 地址
      base-url: http://localhost:11434
      chat:
        enabled: true
        # 使用的模型名称
        model:
          llama3.1:8b
        options:
          temperature: 0.7
  1. 编写接口。
java
 代码解读
复制代码
package com.cleaner.ai.controller;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;


@RestController
@RequestMapping("/ollama")
public class OllamaController {


    @Resource
    private OllamaChatModel ollamaChatModel;


    /**
     * 流式对话
     *
     * @param message 用户指令
     * @return
     */
    @GetMapping("/streamChat")
    public Flux<ChatResponse> generateStream(@RequestParam("message") String message) {
        message = "请使用中文简体回答:" + message;
        Prompt prompt = new Prompt(new UserMessage(message));
        return ollamaChatModel.stream(prompt);
    }

    /**
     * 普通对话
     * @param message   用户指令
     * @return
     */
    @GetMapping("/chat")
    public String generate(@RequestParam("message") String message) {
        message = "请使用中文简体回答:" + message;
        Prompt prompt = new Prompt(new UserMessage(message));
        ChatResponse chatResponse = ollamaChatModel.call(prompt);
        String content = chatResponse.getResult().getOutput().getContent();
        System.out.println("content = " + content);
        return chatResponse.toString();
    }
}
  1. 调用接口,可以看到 API 接口调用成功。(8B 模型生成的回答内容还是比较有限)

在这里插入图片描述

总结

本地部署的大模型可以脱离网络离线使用,但是要达到实际使用的要求,还需要对模型进行细致化的配置,当然部署模型的参数量越大,使用效果会更好,但也要考虑本机电脑的配置限制。对于学习了解大模型及其相关的技术知识而言,在条件允许的情况下,本机部署确实是一个不错的选择。

大模型算是目前当之无愧最火的一个方向了,算是新时代的风口!有小伙伴觉得,作为新领域、新方向人才需求必然相当大,与之相应的人才缺乏、人才竞争自然也会更少,那转行去做大模型是不是一个更好的选择呢?是不是更好就业呢?是不是就暂时能抵抗35岁中年危机呢?

答案当然是这样,大模型必然是新风口!

那如何学习大模型 ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:

最先掌握AI的人,将会比较晚掌握AI的人有竞争优势。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

但现在很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习路线完善出来!

在这里插入图片描述

在这个版本当中:

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型路线+学习教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全咨料,放心领取)👈

​

一、大模型经典书籍(免费分享)

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套大模型报告(免费分享)

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、大模型系列视频教程(免费分享)

在这里插入图片描述

四、2025最新大模型学习路线(免费分享)

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取

👉优快云大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全资料,放心领取)👈

​

ollama+open-webui,本地部署自己的大模型 Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种LLM运行器,包括 Ollama 和 OpenAI 兼容的 API。open-webui项目地址。 阅读详情

相关推荐

Open WebUI +Ollama + Deepseek聊天界面Open WebUI(GitHub ZIP包)

deepseek Open-WebUI github官网ZIP包 自行下载地址:https://github.com/open-webui/open-webui/archive/refs/heads/main.zip Ollama与Open WebUI结合,可以提供更丰富的交互体验。 也可使用支持Ollama的webUI,如 AnythingLLM、Dify、Open-WebUI 等。 Open-WebUI:定位纯聊天界面,支持多模型集成,你可以把它当做一个能“轻松切换模型、马上对话”的 Web 面板,如果只是想单纯体验 Ollama 的生成效果,Open-WebUI 是最方便的。Open web是一个可扩展、功能丰富、用户友好的自托管AI平台,旨在完全离线运行。它支持各种LLM运行程序。 AnythingLLM:更专注于文档知识库与问答场景,自带向量检索管理,可“多文档整合”,接入 Ollama 后实现本地化问答。 Dify:功能多元,适合对话流管理、插件化扩展、团队协同等复杂需求。只要能在其后台正确配置 Ollama 地址,即可灵活调用。

linux系统部署ollama、open-webui

linux安装ollama、open-webui

super_mochi1 1万+

ByteTrack参数调优全攻略:从原理到实战(含YOLOv8示例)

本文深入解析了ByteTrack多目标跟踪算法的核心原理与参数调优策略。通过拆解其独特的两阶段关联机制,并结合YOLOv8检测器,提供了针对不同应用场景(如拥挤行人、高速车辆)的精细化参数调整指南与实战示例,旨在帮助开发者解决ID切换、目标丢失等工程落地难题,提升跟踪系统的鲁棒性与实用性。

cheese的博客 322

使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU)

等,进一步支撑你的行动,以提升本文的帮助力。

lythinking的博客 4218

基于ESP32-C3的物联网硬件设计:从免费工具链到PCB打样全流程实战

在物联网和嵌入式开发领域,硬件设计是连接软件逻辑与物理世界的关键环节。其核心原理在于通过电路设计将微控制器、传感器、通信模块等电子元件有机整合,实现特定功能。掌握硬件设计能力的技术价值在于能够自主实现产品原型,优化成本与性能,并深入理解系统底层运作。常见的应用场景包括智能家居节点、环境监测设备、工业传感终端等。本文以热门的ESP32-C3 RISC-V物联网芯片和广泛使用的KiCad免费EDA工具为例,详细解析了从核心器件选型、射频电路布局、PCB设计规则到Gerber文件生产的完整流程,并分享了在嘉立创平

weixin_30918633的博客 333

从Chiplet到UCIE:D2D互联技术如何重塑半导体设计生态

本文探讨了D2D互联技术在半导体设计中的革命性作用,从Chiplet到UCIE标准的演进如何重塑行业生态。详细分析了D2D互联的技术本质、架构选择及UCIE标准带来的变革,并展望了未来光学D2D和3D集成等趋势。高速互联接口技术的突破为AI加速器和计算芯片提供了更高带宽和能效。

weixin_29292535的博客 931

【LLM大模型】本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南(附教程)

本文介绍如何使用 Ollama 在本地部署 Llama 3.1:8B 模型,并通过 OpenWeb UI 和 Spring AI 来增强模型交互体验和简化 API 的调用过程。

2401_82469710的博客 1609

Windows BITS服务:后台智能文件传输技术详解

后台文件传输技术是现代IT基础设施中的关键组件,Windows BITS(Background Intelligent Transfer Service)作为微软原生解决方案,通过队列管理和智能调度实现高效数据传输。其核心技术原理包括分块传输、断点续传和带宽自适应,能够根据网络状况动态调整传输速率(默认占用空闲带宽的80%)。在工程实践中,BITS特别适用于企业软件分发和自动化数据采集场景,通过PowerShell命令即可实现高优先级传输和代理配置。相比传统FTP方案,BITS在跨国文件传输中将失败率从30

weixin_42116058的博客 277

本地化部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南(附教程)

本文介绍如何使用 Ollama 在本地部署 Llama 3.1:8B 模型,并通过 OpenWeb UI 和 Spring AI 来增强模型交互体验和简化 API 的调用过程。

瓦罗兰特顶级C位的博客 2484

MT6771 Android13 背光曲线调试与光感数据校准实战

本文详细介绍了MT6771平台在Android 13系统上进行背光曲线调试与光感数据校准的实战经验。针对高亮度环境下背光误调节问题,深入分析了光感数据上报机制,并提供了驱动层配置修改、背光曲线优化及常见问题解决方案,帮助开发者快速定位并解决类似问题。

moon9的博客 287

企业级AI项目落地实战指南

企业级 AI 项目落地需构建“分阶段实施 + 多维度风控”的双轮驱动体系:实施端通过 POC 验证技术可行性、试点建立评估标准、规模化实现价值复制,各阶段需结合行业案例(如东阳光药、旺盈集团)提炼可复用经验;风险端则需覆盖技术(数据安全、模型稳定性)、合规(全球监管动态)、组织(人才与文化)维度,通过工具化框架(AI TRISM)与案例策略(邮储银行可解释性设计、拓斯达培训体系)实现风险可控。最终通过“场景聚焦 - 合规嵌入 - 持续优化”的循环机制,实现 AI 技术从“试点成功”到“全面价值创造”的跨越。

2509_93209761的博客 1437

本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南本文介绍如何使用

本地部署的大模型可以脱离网络离线使用,但是要达到实际使用的要求,还需要对模型进行细致化的配置,当然部署模型的参数量越大,使用效果会更好,但也要考虑本机电脑的配置限制。对于学习了解大模型及其相关的技术知识而言,在条件允许的情况下,本机部署确实是一个不错的选择。

ytt0523_com的博客 2940

Dify如何实现自主学习

摘要:Dify通过构建感知-决策-执行-反馈的闭环实现"自主学习",本质是打造能自动获取信息、更新知识库并调整策略的Agent工作流。核心包括:1)建立知识库作为记忆体;2)搭建感知与执行工具获取实时信息;3)通过工作流编排决策"大脑",包含LLM决策节点、行动执行节点和反馈反思节点。典型应用如根据用户反馈优化回答风格,通过存储反思日志到知识库实现持续优化。这种机制使智能体能基于新数据和经验不断自我改进。

专注于技术研发行业技术主要有AI人工智能视觉识别、物联网技术、电商平台、app原生技术、微信小程序、鸿蒙语言开发、办公企业oa、ERP等,致力于做东半球最优秀的程序员 725

大模型本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南

本文介绍如何使用 Ollama 在本地部署 Llama 3.1:8B 模型,并通过 OpenWeb UI 和 Spring AI 来增强模型交互体验和简化 API 的调用过程。

2301_81940605的博客 3047

k8s 不同node之间pod ip不通

底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。

weixin_40548182的博客 4056

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南

本地部署的大模型可以脱离网络离线使用,但是要达到实际使用的要求,还需要对模型进行细致化的配置,当然部署模型的参数量越大,使用效果会更好,但也要考虑本机电脑的配置限制。对于学习了解大模型及其相关的技术知识而言,在条件允许的情况下,本机部署确实是一个不错的选择。读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用如果你是零基础小白,想快速入门大模型是可以考虑的。一方面是学习时间相对较短,学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。

程序员鑫港的博客 1500

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

AI大模型本地部署 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南

本文介绍如何使用 Ollama 在本地部署 Llama 3.1:8B 模型,并通过 OpenWeb UI 和 Spring AI 来增强模型交互体验和简化 API 的调用过程。

AAI666666的博客 2000

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 三大智能体开发平台详细对比:FastGPT、Dify和Coze(附教程)
下一篇: 大模型入门书籍丨一书通关LLM大模型,看这1本书就够了... (附PDF)
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值