基于springboot+ollama实现大模型接入项目的小白笔记

org.springframework.ai无法被maven加载的问题

问题原因:
阿里镜像没有这个库
共用库中只保存了0.8.1的测试版本
解决方法:
参考了这个视频
https://www.youtube.com/watch?v=dffEF9ORVUg
学习视频中方法使用springinitializr这个工具进行项目的生成
具体参数如下图
在这里插入图片描述
在右边依赖中搜索ollama加载ai依赖,以及spring web依赖,然后导出项目使用idea打开。

org.springframework.ai需要从快照库中加载

在pom中加入如下代码

<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>spring-snapshots</id>
			<name>Spring Snapshots</name>
			<url>https://repo.spring.io/snapshot</url>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
	</repositories>

然后将spring-ai的版本修改为如下

<properties>
		<java.version>17</java.version>
		<spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
	</properties>

模型选择

首先通过在cmd中输入

ollama list

获取你已经安装的大模型。
然后修改图中配置文件
在这里插入图片描述

然后加入你想要用的模型

spring.ai.ollama.chat.model=llama3

新建控制类验证功能

新建类代码:

package dev.ying;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ChatController {

    private final ChatClient chatClient;

    public ChatController(ChatClient.Builder chatClient){
        this.chatClient=chatClient.build();
    }
	//默认输入,根目录就能验证接入效果
    @GetMapping("")
    public String joke(){
        return chatClient.prompt()
                .user("讲个笑话")
                .call()
                .content();
    }
    //http://localhost:8080/ollama/chat?msg=如何使用spring-ai
    //模拟chat
    @GetMapping("/ollama/chat")
    public String ollama(@RequestParam String msg){
        return chatClient.prompt()
                .user(msg)
                .call()
                .content();
    }

}

然后访问localhost就行啦

碎碎念

问题的主要原因的错误配置pom导致的ai包下载失败,由于这个功能是今年刚刚加入springboot的,所以国内教程少,讲的东西也大概率随着版本更新失效了。也是通过学习才知道了springinitializr这个工具,更具视频一步步做下来也是成功实现了。
jav的版本也有可能影响,spring框架的版本推荐是3.3.x,我式了3.4.0但没跑起来,还是退回到了3.3.2

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值