当前位置:   article > 正文

LangChain 劲敌强势崛起,Sping AI 震撼发布,AIGC开发终极武器登场!Java 程序员看过来!_spring ai 对标 langchain

spring ai 对标 langchain

懂 AI 技术的小伙伴应该都听说过 LangChain 框架,它是基于 Python 语言开发的集成了很多大语言模型及功能的框架。很多 java 工程师苦恼在 java 项目中还需要手撸 AIGC 代码。如今,Spring 竟然支持 AI 了,简直不要太香!

下面由我来带你详细了解一下 Spring AI ,java 程序员不容错过!!!

1、Spring AI 概述

该Spring AI项目旨在简化包含人工智能功能的应用程序的开发,避免不必要的复杂性。Spring AI 是一个人工智能工程的应用框架。其目标是将 Spring 生态系统设计原则(例如可移植性和模块化设计)应用于 AI 领域,并推广使用 POJO 作为 AI 领域应用程序的构建块。

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

Spring AI 的核心提供了抽象,作为开发 AI 应用程序的基础。这些抽象有多种实现,可以通过最少的代码更改轻松进行组件交换。

2、Spring AI 提供的功能

  • 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Huggingface。

  • 支持的模型类型包括“聊天”和“文本到图像”,还有更多模型类型正在开发中。

  • 跨 AI 提供商的可移植 API,用于聊天和嵌入模型。支持同步和流 API 选项。还支持下拉访问模型特定功能。

  • AI 模型输出到 POJO 的映射。

  • 支持所有主要矢量数据库提供商,例如 Azure 矢量搜索、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate

  • 跨 Vector Store 提供商的可移植 API,包括同样可移植的新颖的类似 SQL 的元数据过滤器 API。

  • 函数调用

  • AI 模型和向量存储的 Spring Boot 自动配置和启动器。

  • 数据工程的 ETL 框架【文档拆分】

此功能集可让您实现常见用例,例如“对文档进行问答”或“与文档聊天”。

3、支持的模型

3.1 聊天模型【Chat Models】

  • OpenAI

  • Azure Open AI

  • Amazon Bedrock

    • Cohere's Command

    • AI21 Labs' Jurassic-2

    • Meta's LLama 2

    • Amazon's Titan

  • Google Vertex AI Palm

  • Google Gemini

  • HuggingFace - access thousands of models, including those from Meta such as Llama2

  • Ollama - run AI models on your local machine

  • MistralAI

3.2 文生图模型【Text-to-image Models】

  • OpenAI with DALL-E

  • StabilityAI

3.3 向量化模型【Embedding Models】

  • OpenAI

  • Azure OpenAI

  • Ollama

  • ONNX

  • PostgresML

  • Bedrock Cohere

  • Bedrock Titan

  • Google VertexAI

  • Mistal AI

3.4 转录(音频到文本)模型【Transcription (audio to text) Models】

  • OpenAI

4、向量数据库【Vector Databases】

Vector Store API 提供跨不同提供商的可移植性,具有新颖的类似 SQL 的元数据过滤 API,可保持可移植性。

  • Azure Vector Search

  • Chroma

  • Milvus

  • Neo4j

  • PostgreSQL/PGVector

  • PineCone

  • Redis

  • Weaviate

  • Qdrant

AI 模型和向量存储的Spring Boot 自动配置和启动器。

函数调用 您可以声明 java.util.FunctionOpenAI 模型的实现,以便在其提示响应中使用。您可以直接将这些函数作为对象提供,或者如果在应用程序上下文中注册为 @Bean,则可以引用它们的名称。此功能最大限度地减少了不必要的代码,并使 AI 模型能够请求更多信息来完成其响应。

支持的模型有:

  • OpenAI

  • Azure OpenAI

  • VertexAI

  • Mistral AI

5、文档拆分 ETL framework for Data Engineering

这就是 RAG 场景中,将知识库向量化之前做文档拆分的过程

  • 我们的 ETL 框架的核心功能是促进使用向量存储将文档传输到模型提供者。ETL 框架基于 Java 函数式编程概念,可帮助您将多个步骤链接在一起。

  • 我们支持阅读各种格式的文档,包括 PDF、JSON 等。

  • 该框架允许进行数据操作以满足您的需求。这通常涉及分割文档以遵守上下文窗口限制,并使用关键字增强它们以提高文档检索效率。

  • 最后,处理后的文档存储在矢量数据库中,以便将来检索。

6、入门 Getting Started

对于 OpenAI 聊天模型可引入

  1. <dependency>
  2. <groupId>org.springframework.ai</groupId>
  3. <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
  4. </dependency>

或您的 Gradlebuild.gradle构建文件。

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

关键配置示例(完整看官方文档)

  1. spring.ai.openai.base-url=YOUR_PROXY_URL
  2. spring.ai.openai.api-key=YOUR_API_KEY
  3. spring.ai.openai.chat.options.model=gpt-3.5-turbo
  4. spring.ai.openai.chat.options.temperature=0.7

​7、官网资料

完整开发文档介绍请看官方资料

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/618550
推荐阅读
相关标签