IT评测·应用市场-qidao123.com

标题: 当地摆设 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南本文介绍 [打印本页]

作者: 玛卡巴卡的卡巴卡玛    时间: 2025-3-2 03:20
标题: 当地摆设 Llama 3.1:Ollama、OpenWeb UI 和 Spring AI 的综合指南本文介绍
本文介绍如何使用 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.1Llama 3.170B40GBollama run llama3.1:70bLlama 3.1405B231GBollama run llama3.1:405bGemma 29B5.5GBollama run gemma2Gemma 227B16GBollama run gemma2:27bqwen27B4.4GBollama run qwen2qwen272B41GBollama run qwen2:72bglm49B5.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 是一个功能丰富且易于使用的大模型管理工具,它为用户提供了一个直观的图形化界面,以及广泛的功能和机动的设置选项。

下载

摆设 OpenWeb UI 必要使用 Docker 环境,我本机的 Docker 版本是 24.0.2。OpenWeb UI 提供了集成 Ollama 的摆设方式, 因为 Ollama 已经下载到我本机上了,以是只必要实验以下命令即可完成摆设。
  1. 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. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.     <modelVersion>4.0.0</modelVersion>
  5.     <parent>
  6.         <groupId>org.springframework.boot</groupId>
  7.         <artifactId>spring-boot-starter-parent</artifactId>
  8.         <version>3.3.1</version>
  9.         <relativePath/> <!-- lookup parent from repository -->
  10.     </parent>
  11.     <groupId>com.cleaner</groupId>
  12.     <artifactId>culture-ai</artifactId>
  13.     <version>0.0.1-SNAPSHOT</version>
  14.     <name>Cleaner-ai</name>
  15.     <description>culture-ai</description>
  16.     <properties>
  17.         <java.version>17</java.version>
  18.         <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
  19.     </properties>
  20.     <dependencies>
  21.         <!-- ollama -->
  22.         <dependency>
  23.             <groupId>org.springframework.ai</groupId>
  24.             <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
  25.         </dependency>
  26.         <dependency>
  27.             <groupId>org.springframework.boot</groupId>
  28.             <artifactId>spring-boot-starter-web</artifactId>
  29.         </dependency>
  30.         <dependency>
  31.             <groupId>org.springframework.boot</groupId>
  32.             <artifactId>spring-boot-starter-test</artifactId>
  33.             <scope>test</scope>
  34.         </dependency>
  35.     </dependencies>
  36.     <dependencyManagement>
  37.         <dependencies>
  38.         <!-- spring ai -->
  39.             <dependency>
  40.                 <groupId>org.springframework.ai</groupId>
  41.                 <artifactId>spring-ai-bom</artifactId>
  42.                 <version>${spring-ai.version}</version>
  43.                 <type>pom</type>
  44.                 <scope>import</scope>
  45.             </dependency>
  46.         </dependencies>
  47.     </dependencyManagement>
  48.     <build>
  49.         <plugins>
  50.             <plugin>
  51.                 <groupId>org.springframework.boot</groupId>
  52.                 <artifactId>spring-boot-maven-plugin</artifactId>
  53.             </plugin>
  54.         </plugins>
  55.     </build>
  56.     <repositories>
  57.         <!-- spring ai -->
  58.         <repository>
  59.             <id>spring-milestones</id>
  60.             <name>Spring Milestones</name>
  61.             <url>https://repo.spring.io/milestone</url>
  62.             <snapshots>
  63.                 <enabled>false</enabled>
  64.             </snapshots>
  65.         </repository>
  66.         <repository>
  67.             <id>spring-snapshots</id>
  68.             <name>Spring Snapshots</name>
  69.             <url>https://repo.spring.io/snapshot</url>
  70.             <releases>
  71.                 <enabled>false</enabled>
  72.             </releases>
  73.         </repository>
  74.     </repositories>
  75. </project>
复制代码
  1. server:
  2.   port: 8888
  3. spring:
  4.   application:
  5.     name: Cleaner-AI
  6.   ai:
  7.     ollama:
  8.       # ollama API Server 地址
  9.       base-url: http://localhost:11434
  10.       chat:
  11.         enabled: true
  12.         # 使用的模型名称
  13.         model:
  14.           llama3.1:8b
  15.         options:
  16.           temperature: 0.7
复制代码
  1. package com.cleaner.ai.controller;
  2. import jakarta.annotation.Resource;
  3. import org.springframework.ai.chat.messages.UserMessage;
  4. import org.springframework.ai.chat.model.ChatResponse;
  5. import org.springframework.ai.chat.prompt.Prompt;
  6. import org.springframework.ai.ollama.OllamaChatModel;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import reactor.core.publisher.Flux;
  12. @RestController
  13. @RequestMapping("/ollama")
  14. public class OllamaController {
  15.     @Resource
  16.     private OllamaChatModel ollamaChatModel;
  17.     /**
  18.      * 流式对话
  19.      *
  20.      * @param message 用户指令
  21.      * @return
  22.      */
  23.     @GetMapping("/streamChat")
  24.     public Flux<ChatResponse> generateStream(@RequestParam("message") String message) {
  25.         message = "请使用中文简体回答:" + message;
  26.         Prompt prompt = new Prompt(new UserMessage(message));
  27.         return ollamaChatModel.stream(prompt);
  28.     }
  29.     /**
  30.      * 普通对话
  31.      * @param message   用户指令
  32.      * @return
  33.      */
  34.     @GetMapping("/chat")
  35.     public String generate(@RequestParam("message") String message) {
  36.         message = "请使用中文简体回答:" + message;
  37.         Prompt prompt = new Prompt(new UserMessage(message));
  38.         ChatResponse chatResponse = ollamaChatModel.call(prompt);
  39.         String content = chatResponse.getResult().getOutput().getContent();
  40.         System.out.println("content = " + content);
  41.         return chatResponse.toString();
  42.     }
  43. }
复制代码
总结

当地摆设的大模型可以离开网络离线使用,但是要到达实际使用的要求,还必要对模型进行细致化的设置,固然摆设模型的参数量越大,使用结果会更好,但也要思量本机电脑的设置限定。对于学习相识大模型及其相干的技术知识而言,在条件答应的环境下,本机摆设确实是一个不错的选择。
一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,必要系统的方法和持续的积极。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能资助你快速梳理知识,形成自己的体系。
L1级别:AI大模型期间的富丽登场

L2级别:AI大模型API应用开辟工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化摆设

一样寻常掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严酷,对于算法和实战黑白常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

二、640套AI大模型报告合集

这套包罗640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研职员、工程师,还是对AI大模型感爱好的爱好者,这套报告合集都将为您提供名贵的信息和启示。

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热门。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成本领,正在改变我们对人工智能的熟悉。 那以下这些PDF籍就黑白常不错的学习资源。

四、AI大模型贸易化落地方案


作为普通人,入局大模型期间必要持续学习和实践,不停提高自己的技能和认知程度,同时也必要有责任感和伦理意识,为人工智能的健康发展贡献力量。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4