初探Ollama部署llama3集成SpringAI

发布于:2024-12-08 ⋅ 阅读:(152) ⋅ 点赞:(0)

初探Ollama部署llama3集成SpringAI

概述

    AI的迸发式增长,我们已经体会了文心一言,通译千问等国产大模型,在这里我比较好奇如何部署一个自己本地大模型来集成在自己的Spring boot项目中呢。由此产生了写这篇记录,我在这里会通过OpenAI公司开发的Ollama来进行本地大模型部署,并测验它的LLM model 的聊天能力,并使用Spring AI集成到我们的项目中来。
在这里插入图片描述

1. 什么是Ollama?

    Ollama是一款功能强大的开源框架,让用户可以在自己的电脑上轻松部署和运行大型语言模型。它就像一个AI模型的“家”,你可以在里面放进各种各样的模型,然后让它们为你生成文本、翻译语言、写代码,甚至还能帮你创作故事。Ollama最大的优点就是方便易用,即使你对编程不太熟悉,也可以很快上手。

    相比于将模型放在云端,Ollama更注重用户的数据隐私和安全。通过本地部署,你可以完全控制自己的数据,不用担心它们被泄露。此外,Ollama还支持离线使用,也就是说,即使没有网络连接,你也可以随时随地使用你的AI模型。这对于那些对网络环境要求较高,或者希望保护隐私的用户来说非常有吸引力。

2. 安装Ollama

Ollama有很多种安装方式,主要的有三种,通过安装文件,使用命令行,以及Docker部署。这里我介绍的式通过安装包在Windows 或者 Mac上的部署方式。

  • 进入Ollama官网:https://ollama.com/
  • 点击“Download”开始下载
  • 网站会给出操作系统环境的选择,自己下载适合的安装文件(支持Linux,Windows,Mac)
  • 下载安装文件(.exe Windows版本,.dmg Mac版本)
  • 找到下载文件进行安装

🚀好的!安装好启动后,这只小羊驼就会显示在你的后台程序中了
在这里插入图片描述

3.下载并运行大模型

    安装好Ollama之后,接下来就是安装LLM大模型了,我们看看是如何进行交互的。最简单的方式是在大模型平台上找到我们想要的,这里有两个找大模型的网站
HuggingFace: https://huggingface.co/models
Ollama: https://ollama.com/search

  • 打开在powershell, 输入如下命令,这里我选用的llama3 8b模型
ollama run llama3

在这里插入图片描述
    此命令初始化 Ollama 并准备 llama3.1模型以进行交互。我们可以输入特定于模型功能的文本提示或命令,Ollama 将使用下载的模型处理这些内容。

4. 连接到Ollama API

    Ollama 的 REST 风格 API 可以将 AI 功能集成到第 3 方客户端应用程序中。默认情况下,该 API 可从“http://localhost:11434”获取。确保 Ollama 在后台运行,以便可以访问 API。
在这里插入图片描述

    我们可以在Insomnia中进行流式访问,当然也可以用Postman,这完全凭自己喜好。

在这里插入图片描述

5. 与Spring AI进行集成

    与其他 LLM 提供商类似,Spring AI 支持使用其 ChatModel 和 EmbeddingModel 接口调用 Ollama API。它在内部创建 OllamaChatModel 和 OllamaEmbeddingModel 类的实例。
在这里插入图片描述

5.1 部署环境

  • 创建Spring Maven环境 https://start.spring.io/
  • Java JDK17
  • Spring Boot 3.4.0
  • ollama

5.2 配置URL和模型名称

我们在application.properties中配置如下内容

spring.application.name=llama3
spring.ai.ollama.chat.model=llama3
spring.ai.ollama.chat.options.temperature=0.4

5.3 编写代码

    使用 Spring AI 时,与任何 LLM 交互的推荐方式始终是其模型类,例如 ChatModel、ImageModel 或 EmbeddingModel。对于 Ollama,我们也将使用 ChatModel 接口。

@RestController
public class ChatController {

    private final ChatModel chatModel;

    public ChatController(ChatModel chatModel) {
        this.chatModel = chatModel;
    }


    @GetMapping("/")
    public String prompt(@RequestParam String m) {
        return chatModel.call(m);
    }
}

在这里插入图片描述

6. 总结

     到此,我们成功解了如何用Ollama下载,安装与部署LLM. 我们在本地运行,并且通过访问API来了解模型的生成能力。

另外,通过powershell与Insomina来进行调取llama模型的APIs。

以及我们创建了自己的SpringBoot模型,并使用SpringAI 模型中ChatModel接口接入模型的聊天API.

Happy Learning! 又可以等小美来问问题了!


网站公告

今日签到

点亮在社区的每一天
去签到