简单把玩下SpringAI

Hello大家好,今天写一些不烧脑的文章,我们来体验一下Spring的新框架Spring AI,只是简单玩玩不深入😏

Spring AI 简介

image.png

  1. Spring AI是为了简化人工智能相关应用程序的开发
  2. Spring AI的诞生,灵感来自于LangChain等项目

Ollama的初体验

是什么

image.png

简单使用

  1. 下载并傻瓜式安装
  2. 选择模型,拉取并运行

ollama pull qwen
ollama pull llama3

image.png

  1. 使用体验

ollama run qwen

image.png

Spring AI项目搭建

环境

  • JDK17
  • SpringBoot3.2.5

pom.xml

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
  </dependency>
</dependencies>
<dependencyManagement>
  <dependencies>
    <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>

Controller

@RestController
public class ChatController {

    private final OllamaChatClient chatClient;

    public ChatController(OllamaChatClient chatClient) {
        this.chatClient = chatClient;
    }

    @GetMapping("/ai/chat")
    public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
        return Map.of("generation", chatClient.call(message));
    }

    @GetMapping("/ai/genClothes")
    public Map genCompanyName(@RequestParam("message") String message) {
        String template = "今天温度是 %s 摄氏度,上衣应该穿什么?裤子应该穿什么?鞋子穿什么?请回答的简单一些";
        ChatResponse response = chatClient.call(
            new Prompt(
                String.format(template, message),
                OllamaOptions.create()
                .withModel("qwen")
                .withTemperature((float) 0.4)
            ));
        return Map.of("name", response.getResult().getOutput().getContent());
    }
}

application.yml

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        enabled: true
        options:
          model: llama3
          temperature: 0.5

spring.ai.ollama.chat.temperature:取值0~1,值越高,回答结果越新颖

启动Ollama

image.png

这里有这个图标,并且要使用的模型已经pull到了本地就可以了

成果展示

llama3使用

image.png

穿衣建议(qwen使用)
qwen:通义千问大模型

image.png
image.png

总结

  • Spring AI为我们封装了调用大模型的细节
  • Ollama类似于Docker,拉取和运行模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值