Spring Ai,它来了

2024-05-29 12:12:04 浏览数 (1)

SpringAi

在当今这个由数据和智能驱动引领生产力的时代,人工智能(AI)已经成为推动业务创新和优化用户体验的关键力量。它正已前所未有的速度渗透到我们生活的每一个角落,并且已经在众多领域有了突破发展,由我们最先熟知的ChatGPT到现在的多AI共同发展,这将大大提高我们的日常生产力。

然而,对于我们许多Java开发者来说,该如何去将Ai集成在我们现有的应用和服务中呢?

Spring Ai会告诉你答案:

随着Spring Ai的诞生,我们熟知的Spring生态系统又多了一个特殊力量——量身打造的Ai框架,这无疑是Java和AI领域的一大进步。

下面来介绍一些Spring Ai:

官方文档:https://docs.spring.io/spring-ai/reference/index.html

image-20240416100510616image-20240416100510616

这是来自Spring Ai的官方文档,那么我给大家翻译一下:

该项目从著名的 Python 项目(如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并不是这些项目的直接移植。 该项目的成立信念是,下一波生成式人工智能应用程序将不仅适用于 Python 开发人员,而且将在许多编程语言中无处不在。

Spring AI 的核心是提供抽象,作为开发 AI 应用程序的基础。 这些抽象具有多种实现,只需最少的代码更改即可轻松交换组件。

Spring AI 提供以下功能:

  • 支持所有主要的模型提供商,如OpenAI,Microsoft,Amazon,Google和Huggingface。
  • 支持的模型类型包括聊天和文本到图像,还有更多类型正在开发中。
  • 跨 AI 提供商的可移植 API,用于聊天和嵌入模型。支持同步和流 API 选项。还支持下拉以访问特定于模型的功能。
  • 将 AI 模型输出映射到 POJO。
  • 支持所有主要的矢量数据库提供程序,例如 Azure Vector Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate
  • 跨 Vector Store 提供程序的可移植 API,包括新颖的类似 SQL 的元数据过滤器 API,该 API 也是可移植的。
  • 函数调用
  • AI 模型和矢量存储的 Spring Boot 自动配置和启动器。
  • 用于数据工程的 ETL 框架

特性概述:

  • 模型输入/输出
  • 整合数据
  • 连接多个Ai模型交互
  • 内存
  • 代理

框架入门:

首先,AiClientOpenAI 平台的所有通信都需要 API Key。为此,可以在 “API Keys” 页面上创建一个 Token。

Spring AI 项目定义了配置属性:spring.ai.openai.api-key

可以在 application.yml 文件中进行设置。

代码语言:javascript复制
spring:
  ai:
    openai.api-key: ${OPEN_AI_KEY}

下一步是配置依赖。Spring AI 项目在 Spring 里程碑库(Spring Milestone Repository )中提供了组件。

因此,需要添加 repository 定义:

代码语言:javascript复制
<repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <releases>
            <enabled>false</enabled>
        </releases>
    </repository>
</repositories>

之后,就可以导入 open-ai-spring-boot-starter :

代码语言:javascript复制
<dependency>
    <groupId>org.springframework.experimental.ai</groupId>
    <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
    <version>0.7.1-SNAPSHOT</version>
</dependency>

Spring AI 项目正在积极发展,你可以查看 官方 GitHub 页面 了解最新版本。

另外还提供了许多API,例如聊天、图形生成、函数调用等等。

0 人点赞