本地springboot集成ollama调用千问大模型

一.Ollama的介绍

1.1 什么是Ollama

Ollama是一个用于部署和运行各种开源大模型的工具,能够帮助用户快速在本地运行各种大模型,极大地简化了大模型在本地运行的过程。对用户来说,只需要通过执行几条命令就能在本地运行开源大模型,如Llama 2等。

官网地址:Ollama

img

1.2 Ollama特点与优势

Ollama具备如下特点和优势

(1)功能齐全

Ollama将模型权重、配置和数据捆绑到一个包中,定义成Modelfile。它优化了设置和配置细节,包括GPU使用情况,从而提高了模型运行的效率。

(2)轻量级

Ollama的代码简洁明了,运行时占用资源少。这使得它能够在本地高效地运行,不需要大量的计算资源。此外,它还支持热加载模型文件,无需重新启动即可切换不同的模型,这使得它非常灵活多变。

(3)易用性

Ollama提供了多种安装方式,支持Mac和Linux平台,并提供了Docker镜像。用户只需按照安装指南进行操作即可完成安装,无需具备专业的技术背景。

(4)捆绑模型组件

它将模型权重、配置和数据捆绑到一个包中,称为 Modelfile,这有助于优化设置和配置细节,包括 GPU使用情况。

(5)支持多种模型

Ollama 支持多种大型语言模型,如 Llama 2、Code Llama、Mistral、Gemma 等,并允许用户根据特定需求定制和创建自己的模型。

(6)跨平台支持

支持 macOS 和 Linux 平台,Windows 平台的预览版也已发布。安装过程简单,用户只需访问 Ollama 的官方网站下载相应平台的安装包即可。

二、Ollama本地部署

接下来演示如何在本地的windows系统上安装Ollama,根据你的实际情况,也可以选择Linux系统进行部署

2.1 版本选择

进入网站之后,点击右上角的 Download按钮,根据个人的实际情况,选择不同类型的安装包进行部署,我这里选择的是Windows的版本;

img

注意,Ollama部署的时候,对服务器或机器是有一定要求的,所以需要根据你的机器配置情况进行选择,在Ollama的官网通过github的链接点进去,可以看到如下的相关参数指导说明,在这里,你部署的大模型参数越多,理论上来说,对机器的配置要求就越高,目前先关注这一点即可。

img

2.2 下载安装包

这里选择下载的是windows版本

img

2.3 执行安装

Ollama的安装比较简单,双击执行这个exe文件,等待安装完成即可

img

安装完成之后,点击开始进入下面的shell窗口
img

img

2.4 Ollama常用命令

cmd窗口输入Ollama,即可了解常用的Ollama命令

img

对于本机部署的Ollama工具的理解,可以参照Docker的使用经验。对于那些曾经操作过Docker的用户而言,通过Docker部署诸如MySQL或Redis等中间件的过程应当是相当熟悉的。

这一过程仅需执行一条简单的Docker命令即可实现,其便捷性不言而喻。同理,Ollama作为一个大型模型部署管理工具,通过执行其特定的命令,用户亦可迅速地在本地环境中部署并使用大型模型。

如果你需要使用Ollama部署大模型,可以在Ollama官网进行搜索,类似于你使用docker search 镜像名一样,并且有很多版本可供选择,像千问模型就有如下这么多版本。

img

如下,进入到某个大模型中,拷贝命令到shell窗口中执行即可

img

三、使用Ollama部署千问大模型

上面演示了基于本地windows操作系统搭建Ollama过程,下面我们使用Ollama部署一个大模型,这里使用Ollama部署千问大模型。

3.1 千问大模型介绍

“通义千问大模型”是阿里云推出的一个超大规模的语言模型,具有强大的归纳和理解能力,可以处理各种自然语言处理任务,包括但不限于文本分类、文本生成、情感分析等。此模型能够极大地提高了自然语言处理的效率和准确性,给用户提供了一种新的、简便的工具。

3.2 部署过程

在Ollama中搜索关键字qwen,然后选择一个参数相对较少(对本地的空间和资源占用减小)的进行运行

img

使用下面的命令运行

ollama run qwen:0.5b-chat

然后等待模型下载完成运行起来之后就可以使用了,下面这个进度窗口是不是与docker部署中间件很相像。

img

随后,用户能够输入文本内容,从而与千问大模型展开对话。继而,基于已部署的模型,可将其应用于实际工作或业务中,实现有效结合。

四、springboot接入Ollama

由于本地搭建了Ollama,并且在Ollama上安装了千问大模型,就可以将千问大模型当GPT一样使用进行交流,参考下面具体的对接步骤。

4.1 引入Ollama依赖

本地提前搭建一个springboot工程,然后引入Ollama核心依赖

img

4.2 添加配置文件

配置文件中添加Ollama相关的配置信息,注意的是,Ollama本地端口为11434

img

4.3 使用Ollama聊天api

Ollama聊天API的核心对象为OllamaChatClient,与上述的spring ai中提供的client对象类似,在程序中可以直接调用其api,如下,传入一个msg参数,返回响应的文本内容。

img

启动服务调用一下接口,可以看到响应的内容,通过这种方式,相当于是利用spring ai接入了本地的大模型进行对话聊天。

spring ai官网中也提供了Ollama的相关文档,地址:Ollama Chat :: Spring AI Reference,在文档中,可以找到很多有关Ollama的详细的配置参数,这些配置参数,都可以在Prompt对象或者配置文件中进行合理的使用,达到最佳的实践效果。

img

五.结尾

本文详细介绍了基于windows系统部署Ollama的过程,并演示了基于Ollama部署千问大模型的过程,以及如何与springboot对接,更详细和深入的可以参阅官网资料进一步学习。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

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

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

img

三、AI大模型经典PDF籍

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

img

四、AI大模型商业化落地方案

img

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

### Spring Boot 集成 Ollama 使用教程 #### 创建Spring Boot应用程序 为了集成Ollama到现有的Spring Boot项目中,首先需要创建一个新的Spring Boot应用程序或使用已有的项目。 #### 添加依赖项 确保`pom.xml`文件中有必要的依赖来支持与Ollama的服务交互。这通常涉及到引入HTTP客户端库或其他特定于Ollama SDK的包(如果存在)。由于具体依赖未提供,在此假设使用的是标准REST API调用来实现通信[^1]。 #### 编写配置类 定义一个Java配置类用于设置连接至Ollama所需的信息,比如API端点URL和其他必要参数。这部分取决于具体的Ollama服务接口设计[^2]。 ```java @Configuration public class OllamaConfig { @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } } ``` #### 实现业务逻辑组件 构建处理实际请求并解析响应数据的服务层组件。这里展示了一个简单的例子,其中包含了向Ollama发送消息以及接收回复的功能。 ```java @Service public class OllamaChatModel { private final String apiUrl = "http://localhost:8080/api/v1/chat"; // 假设这是Ollama服务器地址 @Autowired private RestTemplate restTemplate; public ChatResponse call(Prompt prompt){ HttpHeaders headers = new HttpHeaders(); HttpEntity<Prompt> request = new HttpEntity<>(prompt,headers); ResponseEntity<ChatResponse> response = restTemplate.postForEntity(apiUrl,request,ChatResponse.class); return response.getBody(); } } ``` #### 测试功能 编写单元测试验证上述代码能否正常工作。下面是一个基于JUnit框架编写的简单测试案例,它会尝试通过刚才建立好的模型对象发起一次聊天请求,并打印返回的结果。 ```java @SpringBootTest(classes = DemoApplication.class) class DemoApplicationTests { @Autowired private OllamaChatModel chatModel; @Test void ollamaChat() throws Exception{ ChatResponse response = chatModel.call( new Prompt( "Spring Boot适合做什么?", OllamaOptions.builder() .withModel(OllamaModel.LLAMA3_1) .withTemperature(0.4f) .build()) ); System.out.println(response); } } ``` 以上就是关于如何在一个典型的Spring Boot环境中集成本地运行的Ollama服务的一个基本指南。请注意根据实际情况调整路径、版本号以及其他细节部分以适应不同的开发环境需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值