SpringAI 她来了,真的来了

这篇具有很好参考价值的文章主要介绍了SpringAI 她来了,真的来了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

自从ChatGPT火了之后,各种产品都在不停的拥抱AI,在各自场景中接入AI,国内外各种大模型层出不穷。

好像有点扯远了,言归正传,今天我们要说的是SpringAI,大家在逛Spring 官网(https://spring.io/)
应该发现了,在官网中多了SpringAI 模块

SpringAI 她来了,真的来了

一、SpringAI 简介

我们来看看官网是怎么介绍的

Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.

Portable API support across AI providers for Chat, text-to-image, and Embedding models. Both synchronous and stream API options are supported. Dropping down to access model-specific features is also supported.

上面翻译过来就是

Spring AI是一个面向AI工程的应用框架。其目标是将可移植性和模块化设计等设计原则应用于AI领域的Spring生态系统,并将POJO作为应用程序的构建块推广到AI领域。

跨AI提供商的便携API支持聊天、文本到图像和嵌入模型。同时支持同步和流API选项。还支持各种定制的功能。

总的来说就是:Spring出了一个AI框架,帮助我们快速调用AI,从而实现各种功能场景。

在之前的文章中我们有说过Java怎么调用OpenAI,
传送门👉Java程序接入ChatGPT 👈

今天我们就来看看怎么使用Spring 自己提供的框架调用AI

二、各种模型

这里列举出了支持的各种厂商的各种模型接入,有我们熟悉的Amazon、Google 等模型,但目前还不支持国内的任何一种模型

2.1 Chat Models 聊天模型

SpringAI 她来了,真的来了

2.2 Text-to-image Models 文生图模型

SpringAI 她来了,真的来了

2.3 Transcription (audio to text) Models 音频文本互转模型

SpringAI 她来了,真的来了

2.4 Embedding Models 嵌入模型

SpringAI 她来了,真的来了

三、接入准备

我们这里以接入OpenAI 为例,看看需要做哪些准备

① 首先我们得能魔法上网

② 注册过OpenAI账号,并创建了API keys

还不知道怎么注册的可以翻一翻之前的文章,
传送门 👉 如何注册OpenAI 👈

注: 之前我们注册生成的API keys 可能过期了,有可能需要重新创建一个

SpringAI 她来了,真的来了

要想接下来调用成功,上面两步缺一不可

四、创建springboot项目

Spring Initializr 创建项目

注:

  • Server URL 这里一定要 填https://start.spring.io/ ,而不是 https://start.aliyun.com/ 阿里云暂时还不支持
  • jdk一定要选择17及以上版本

SpringAI 她来了,真的来了

② 选择支持模块

如果上面一步选择正确的话,这一步我们会看到一个AI模块,这里选择OpenAI 模型和Spring Web即可,

如果这一步没看到AI模块的,请return到上一步

SpringAI 她来了,真的来了

五、所需依赖

按照上面添加模块之后,idea会默认给我们添加如下依赖,当然了也还用到其他依赖,这里就不都贴出来了

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>

如果你用的是Gradle 构建工具,那就是

dependencies {
    implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter'
}

注:

添加依赖之后,如果我们项目配置的是阿里云镜像的话,需要修改成如下仓库地址,否则依赖下载不下来

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

六、修改配置文件

application.properties 或者application.yml配置文件

spring.ai.openai.api-key=前面步骤创建的apikey
spring.ai.openai.chat.options.model=gpt-3.5-turbo
spring.ai.openai.chat.options.temperature=0.7

或者

spring:
  ai:
    openai:
      api-key: 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
      chat:
        options:
          model: gpt-3.5-turbo
          temperature: 0.7

  • api-key : 前面步骤创建的apikey
  • chat.options.model: gpt模型 ,上面我们配置的是3.5 模型
  • chat.options.temperature:Spring AI与PT模型交互时,特别是在聊天或文本生成场景下,模型生成文本时的随机性程度为0.7

七、代码编写

这里我们只是简单测试一下,所以代码都写在了controller 层里

@RestController
public class ChatController {
    private final OpenAiChatClient chatClient;

    @Autowired
    public ChatController(OpenAiChatClient chatClient) {
        this.chatClient = chatClient;
    }

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

    }

    @GetMapping("/ai/generateStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
        Prompt prompt = new Prompt(new UserMessage(message));
        return chatClient.stream(prompt);
    }
}

代码解释:上面代码提供了generategenerateStream 两个方法接收前端传来的参数message,然后将message作为prompt (如果你还不知道prompt可以去百度一下)去调用封装好的大模型,并将大模型的结果返回去。

八、Spring AI函数调用流程

SpringAI 她来了,真的来了

SpringAI 她来了,真的来了

九、其他模型调用

上面例子中我们只是列举出OpenAI 模型调用方式,其他模型大家可以参考官方文档,文档写的也非常详细

假设我们想使用亚马逊的大模型,可以到https://docs.spring.io/spring-ai/reference/api/bedrock-chat.html 查看文档

SpringAI 她来了,真的来了

本期内容到这儿就结束了,希望对你有所帮助

我们下期再见 (●'◡'●)文章来源地址https://www.toymoban.com/news/detail-852251.html

到了这里,关于SpringAI 她来了,真的来了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 真的来了!百度文心一言APP在哪里下载?跟网页版有什么区别?

    此前百度公开宣布 文心一言没有APP,所有文心一言APP都是假的 。并针对文心一言盗版APP进行举证上诉,还对苹果应用商店起诉。时隔半个多月,今天上午,小宝在文心一言官方网站上看到内测专用APP下载链接, 真正的文心一言APP终于来了 。 文心一言APP从哪里下载? 首先,

    2024年02月10日
    浏览(39)
  • LiblibAI哩布哩布AI:满血不收费的ai生图真的来了!过万授权模型免费用!

    LiblibAI, 中文名:哩布哩布AI是原创AI模型分享社区,这里有最新、最热门的模型素材, 10万+模型免费下载 。你可以在这里分享优秀的作品,与中国原创模型作者交流,共同探索AI绘画。 访问地址放在文章结尾,大家自取。 Liblibai免费吗? liblibai每日登录后会送算力值: 1.非会员每

    2024年04月25日
    浏览(39)
  • 马云说的AI电商真的要来了?AR技术虚拟试穿公司ZERO10引入AI人工智能模型,未来试衣间就应这样!

    ZERO10 是一家提供虚拟试穿体验的公司,他们基于自家的 AR 技术,提供高度逼真且顶尖的虚拟试穿体验。与现有的技术不同,他们的生成式人工智能试穿技术只需要 1-5 张用户照片,就可以实现虚拟试穿。这种方法为规模化应用提供了巨大机会。 虚拟试穿的问题可以看作是生

    2024年02月03日
    浏览(60)
  • 快来!Claude无需魔法不限量;百度官方AIGC公开课;Prompt高质量答案完全指南;GPT-5真的要来了?贾扬清离职阿里后首次受访 | ShowMeAI日报

    👀 日报周刊合集 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! Siqi Chen 是初创公司Runway CEO兼AI投资人,他两周前的推特重新引发了热议:预计到2023年底,GPT-4将被新的GPT-5版本取代。 除了透露GPT-5的发布时间外,Siqi Chen还宣布,一些OpenAI员工希望新模型能够与

    2024年02月09日
    浏览(55)
  • SpringAI——Java生态接入LLM

    最近,Spring官网发布了SpringAI,可点此查看https://spring.io/blog/2024/03/12/spring-ai-0-8-1-released,对于SpringAI的介绍,可看官方文档:https://spring.io/projects/spring-ai#overview。 本文将使用SpringAI配合Ollama完成SpringAI的体验,下面分别介绍SpringAI和Ollama。 一、Spring AI Spring AI是一个专为人工智

    2024年04月09日
    浏览(30)
  • 来了来了,我使用 ChatGPT 开发了一个 AI 应用

    ChatGpt 实在太火爆了,很多人在问我怎么使用 chatgpt 开发一个 AI 应用程序。这不就来了吗~ 你所需要准备的一个OpenAI 的密钥和一点点代码来发送提示并返回结果,例如下面这段代码: 就靠这段代码,你现在就可以开始用它做出不可思议的东西了!😎 使用AI执行命令的基本结

    2024年02月01日
    浏览(43)
  • 低代码,你真的了解吗?真的那么火吗?

    近几年来,在国内讨论低代码的场合越来越多,任何技术峰会,少不了会提及低代码甚至零代码。 简单地说,低代码平台是一种软件开发工具,旨在让用户使用最少的编码知识和手动编程工作来构建应用程序。这些平台提供了图形化的用户界面和可视化工具,使用户能够通过

    2024年02月03日
    浏览(49)
  • c语言第一课---------它来了,它来了,带着薪资走来了

    这是我的gitee仓库:https://gitee.com/qin-laoda/python-exercises 有兴趣的小可爱们可以点进去看看,里面有我写的代码我们一起来借鉴 由于本人的自我介绍已经自我介绍过了,在我的的第一篇博客里,有兴趣的小可爱可以去看看, 下面我们简单介绍学好C语言的步骤: =1 . 学会敲代码,因为所有

    2024年02月09日
    浏览(49)
  • 用Java解决华为OD机试考题,真的高效,真的强,来吧,清单奉上,祝你上岸

    直接在本页使用 Ctrl+F,输入题目名称就可以进行检索。   序号 文章 分值 1 【华为OD机试真题JAVA】快递装载问题_国服第二切图仔的博客-CSDN博客 100 2 【华为OD机试真题JAVA】英文输入法单词联想功能_国服第二切图仔的博客-CSDN博客 100 3 【华为OD机试真题JAVA】数组元素按十进制

    2024年02月01日
    浏览(68)
  • 人工智能来了

    1、相信很多小伙伴们面试或者工作中会遇到数组扁平化这一问题,如今正是智能大火的时候,何不让我们试试水呢,所以让我们的智能用js帮我们写一个数组扁平化吧 2、这就?这就?这就写出来了?亏我抓耳挠腮半天写不出来,怀着不信,以及对真理的渴望,让我们用实践

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包