搞AI不必非得转学python了,SpringAi(spring版的langchain)来了

搞AI不必非得转学python了,spring版的langchain来了!!!

作为一个java程序员研究大模型真的是天然的心理门槛。换个语言(python)就感觉换了个媳妇一样,总是迈不出那一步。

最近为了项目,下定决心、刚费了九牛二虎之力搭建了一套本地问答大模型应用,见我前一篇文章:Macbook air M2 16G 用cpu跑同大模型知识库文档系统(Langchain-chatchat+llama2-7B量化模型)

然后就惊喜的发现了spring官方于3月1日发布springAI,java世界的Langchain框架。

SpringAI让我最欣喜的是的功能:

  1. “文档问答”或“与文档聊天”

    这正是我要做的场景啊,就是基于本地文档知识库+大模型的智能文档对话应用啊!接下来的业务时间,我准备实战一站SpringAI+本地大模型+本地知识库了,届时定会写一篇文章分享给大家。

  2. 数据工程ETL框架

    这个特性太棒了,pdf、doc、xlsx、pptx、txt、html…的读取/解析/向量化,懂的都懂,这简直就是福利啊。

    Tika、PdfBox、OCR…熟悉的味道,人家都给你集成好了,文字版pdf、扫描版pdf都能识别,一个字“够意思”!

    这就意味着前面连我的文件上传服务,后面连接我的ElasticSearch,这个基于本地大模型私有文档库的问答系统即7788了。spring你就是及时雨宋江啊!

SpringAI主要特性(官网翻译):

Spring AI项目旨在简化包含人工智能功能的应用程序的开发,而没有不必要的复杂性。

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

在其核心,Spring AI提供了抽象,作为开发AI应用程序的基础。这些抽象具有多个实现,能够以最小的代码更改轻松交换组件。

Spring AI提供以下功能:

  1. 支持所有主要模型提供商,如OpenAI、微软、亚马逊、谷歌和Huggingface。 支持的模型类型是聊天和文本到图像,还有更多。
  2. 跨AI提供商的便携式API,用于聊天和嵌入模型。支持同步和流API选项。还支持下拉以访问模型特定功能。 将AI模型输出映射到POJO。
  3. 支持所有主要的矢量数据库提供商,如Azure Vector

    Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis和Weaviate

  4. 跨矢量商店提供商的便携式API,包括一个新型的类似SQL的元数据过滤器API,也是可移植的。
  5. 函数调用
  6. 人工智能模型和矢量存储的弹簧启动自动配置和启动器。
  7. 数据工程ETL框架
此功能集允许您实现常见的用例,如“文档问答”或“与文档聊天”。

后续感兴趣的朋友,可以加个关注,我会分享一篇:用cpu跑通离线大模型+SpringAI+本地知识库的问答应用。