SpringAI——Java生态接入LLM

这篇具有很好参考价值的文章主要介绍了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是一个专为人工智能工程而设计的应用框架。它的目标是将Spring生态系统的设计原则,如可移植性和模块化设计,应用于人工智能领域,并推广使用纯Java对象(POJO)作为AI领域应用程序的构建块。

1.Spring AI的核心特性
  • 跨AI提供商的API支持:Spring AI提供了一套可移植的API,支持与多个AI服务提供商的聊天、文本到图像和嵌入模型进行交云。
  • 同步和流式API选项:框架支持同步和流式API,为开发者提供了灵活的交互方式。
  • 模型特定功能访问:允许开发者通过配置参数访问特定模型的功能,提供了更细致的控制。
2.支持的模型
  • 聊天模型:包括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(包括Meta的Llama2等数千种模型)、Ollama(本地运行AI模型)、MistralAI等。
  • 文本到图像模型:如OpenAI的DALL-E、StabilityAI等。
  • 嵌入模型:包括OpenAI、Azure Open AI、Ollama、ONNX、PostgresML、Bedrock Cohere、Bedrock Titan、Google VertexAI、Mistal AI等。
3.向量存储API和向量数据库

Spring AI提供了跨不同提供商的向量存储API,具有类似SQL的元数据过滤API,保持了可移植性。支持的向量数据库包括Azure Vector Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Redis、Weaviate、Qdrant等。

4.函数调用和ETL框架

Spring AI允许开发者声明java.util.Function实现,用于OpenAI模型的提示响应中。这一特性最小化了不必要的代码,并使AI模型能够请求更多信息以完成其响应。此外,框架还包括一个基于Java函数编程概念的ETL框架,帮助开发者将文档传输到模型提供商使用的向量存储中。

5.丰富的参考文档和示例应用

Spring AI配备了详尽的参考文档、示例应用程序和研讨会/课程材料,确保开发者拥有开始使用和充分利用框架所需的所有资源。

6.Spring AI的未来

Spring AI的未来版本将在当前基础上构建,计划提供对更多AI模型的访问,例如Google刚刚发布的Gemini多模态模型。框架还将引入评估AI应用程序效果的工具,更多的便利API和功能,以帮助解决查询/总结文档等常见用例。

7.Spring AI的使用

要开始使用Spring AI,只需几个简单的步骤:

  1. 安装Spring CLI。
  2. 在shell中运行以下命令创建一个新应用程序:
    spring boot new --from ai --name myai
  3. 这将创建一个用于与ChatGPT进行基本交互的应用程序。按照生成的README文件中的说明获取您的API密钥。
  4. 使用以下命令运行应用程序:
    ./mvw spring-boot:run
  5. 使用curl测试端点:
    curl localhost:8080/ai/simple

二、Ollama:本地运行大型语言模型的轻量级框架

Ollama是一个开源项目,旨在为用户提供一个简单、可扩展的框架,以便在本地机器上快速启动和运行大型语言模型。无论是研究人员、开发者还是对人工智能感兴趣的爱好者,Ollama都提供了一个便捷的途径来探索和利用最新的语言模型技术。

1.核心特性
  • 多平台支持:Ollama支持macOS、Windows预览版和Linux操作系统,确保了广泛的用户基础能够使用该框架。
  • Docker镜像:通过官方的Docker镜像ollama/ollama,用户可以轻松地在容器化环境中部署Ollama。
  • 丰富的模型库:项目支持包括Llama 2、Mistral、Gemma在内的多种大型语言模型,用户可以根据需要选择合适的模型。
  • 易于安装:Ollama提供了详细的安装指南,无论是通过下载压缩包还是使用命令行工具,用户都能轻松完成安装过程。
  • 模型自定义:用户可以通过创建Modelfile来导入GGUF模型,或者从PyTorch和Safetensors导入模型,实现模型的个性化定制。
  • 命令行界面(CLI):Ollama提供了一系列的CLI命令,简化了模型的创建、管理和运行过程。
  • REST API:通过REST API,用户可以编程方式运行和管理模型,为自动化和集成提供了便利。
  • 社区集成:Ollama与多个社区项目集成,包括Web和桌面应用程序、终端工具、数据库、包管理器和移动应用等,扩展了其应用范围。
2.模型安装和使用

Ollama官网:https://ollama.com/
Ollama Github地址:https://github.com/ollama/ollama

2.1 macOS安装指南
  1. 下载Ollama压缩包:
    访问Ollama的GitHub页面或官方网站,找到适用于macOS的下载链接。
    Download Ollama for macOS
  2. 解压压缩包:
    将下载的Ollama-darwin.zip文件解压到希望安装Ollama的目录。
  3. 安装依赖(如果有):
    根据Ollama的README文件或官方文档,安装任何必要的依赖项。
  4. 运行Ollama:
    打开终端,切换到解压后的Ollama目录,运行Ollama的启动命令。
cd Ollama-darwin
./ollama
2.2 Windows安装指南
  1. 下载Ollama安装程序:
    在Ollama的GitHub页面上找到Windows预览版的下载链接。
    Download Ollama for Windows
  2. 运行安装程序:
    双击下载的OllamaSetup.exe文件,并按照安装向导的指示完成安装。
  3. 验证安装:
    安装完成后,可以通过运行Ollama的命令或启动桌面应用程序来验证安装是否成功。
2.3 Linux安装指南
  1. 通过curl安装:
    打开终端,运行以下命令来安装Ollama。
    curl -fsSL https://ollama.com/install.sh | sh
  2. 手动安装(可选):
    如果希望手动安装或需要更详细的安装步骤,可以参考Ollama的GitHub仓库中的Linux安装文档。
    Manual install instructions
  3. 运行Ollama:
    安装完成后,可以通过终端运行Ollama的命令来启动框架。
2.4 Docker安装指南
  1. 安装Docker(如果尚未安装):
    根据操作系统,从Docker官网下载并安装Docker。
  2. 拉取Ollama Docker镜像:
    在终端中运行以下命令来拉取官方的Ollama Docker镜像。
    docker pull ollama/ollama
  3. 运行Docker容器:
    使用以下命令运行Ollama容器。
    docker run -it ollama/ollama
2.5 验证安装

无论使用的是哪种安装方法,都可以通过运行以下命令来验证Ollama是否已成功安装并运行:
ollama run gemma:2b
这将启动Gemma:2b模型,可以通过与模型交互来测试其功能。Gemma:2b模型对中文相对友好一些,例如:
spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

三、SpringAI与Ollama
1.首先创建一个Spring项目

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

2.选择要使用的模型依赖,这里我选择的是Ollama

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

3.Ollama模型选择,Ollama官网中有多个模型可以选择,本次使用gemma:2b这个模型

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

4.在配置文件中,配置Ollama模型的URL和要使用的模型
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.chat.model=gemma:2b
5.启动Ollama,并运行gemma:2b模型。安装完成Ollama后,在命令窗口使用ollama run gemma:2b命令运行该模型,如果系统没有gemma:2b model的话会自动下载,所以第一次会慢一些

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

gemma:2b model运行成功后,可通过http://localhost:11434查看状态
spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

6.在Java代码中进行测试

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring

支持流式访问,比如这里,给LLM一个提示词:你是一个高级运营,你擅长于写各种运营文案,根据:{message} 场景写一个不少于100字的文案。然后,告诉它一个场景,例如:旅游。
执行程序,给出的结果如下:

## 探索自然,打开无限之旅!

你是否渴望沉浸在自然美景之中?在感受阳光轻轻抚过皮肤的温暖中?在聆听动听的森林鸟叫中?在品尝异国美食的滋味中?

我们为您打造了一套精彩旅游解决方案,带您走进神秘自然之中!

从沉浸式的森林冒险到神秘自然之旅,我们提供各种体验,让您在自然之中寻找属于自己的精彩。

**加入我们,开启无限之旅!**

* **体验神秘自然:** 在神秘森林中,感受自然的奇迹,体验自然界的美丽与神秘。
* **品尝异国美食:** 探索世界的味蕾,品尝当地特色美食,感受不同的文化与风味。
* **沉浸在自然之中:** 在自然公园中散步,体验自然风光,感受生命的活力。
* **与自然共存:** 在环保旅游中,与生态环境共存,创造属于自然界的文明。

**立即开始你的自然之旅吧!**complete~!

spring ai glm,AI,Java相关,java,人工智能,ai,AI编程,spring文章来源地址https://www.toymoban.com/news/detail-845603.html

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

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

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

相关文章

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

    作为一个java程序员研究大模型真的是天然的心理门槛。换个语言(python)就感觉换了个媳妇一样,总是迈不出那一步。 最近为了项目,下定决心、刚费了九牛二虎之力搭建了一套本地问答大模型应用,见我前一篇文章:Macbook air M2 16G 用cpu跑同大模型知识库文档系统(Langch

    2024年04月26日
    浏览(47)
  • 智谱AI技术开放日:新一代基座大模型GLM-4及GLMs的发布

    2024年1月16日,智谱AI举行了一次重要的技术开放日,发布了新一代基座大模型GLM-4和定制化的大模型GLMs。此次发布标志着智谱AI在人工智能领域的新一轮突破,进一步提升了大模型的性能,并降低了使用门槛,使得更多的人能够参与到AI的广泛应用中来。 GLM-4模型是智谱AI全自

    2024年01月16日
    浏览(51)
  • AI大模型探索之路-应用篇16:GLM大模型-ChatGLM3 API开发实践

    目录 一、ChatGLM3-6B模型API调用 1. 导入相关的库 2. 加载tokenizer 3. 加载预训练模型 4. 实例化模型 5.调用模型并获取结果 二、OpenAI风格的代码调用 1. Openai api 启动 2. 使用curl命令测试返回 3. 使用Python发送POST请求测试返回 4. 采用GLM提供的chat对话方式 5. Embedding处理 三、Functio

    2024年04月23日
    浏览(45)
  • AI大模型探索之路-应用篇17:GLM大模型-大数据自助查询平台架构实践

    在众多大型企业中,数据资产庞大无比,因此它们纷纷构建了多种大数据平台。然而,关键在于如何高效地利用这些数据,例如,将数据有效地提供给产品经理或数据分析师以供他们进行设计和分析。在传统工作流程中,由于这些角色通常不是技术专家,他们往往无法直接使

    2024年04月22日
    浏览(90)
  • AI大模型探索之路-实战篇3:基于私有模型GLM-企业级知识库开发实战

    在当今信息时代,数据已经成为企业的核心资产之一。对于许多企业而言,信息安全和私密性是至关重要的,因此对外部服务提供的数据接口存在天然的警惕性。因此常规的基于在线大模型接口落地企业知识库项目,很难满足这些企业的安全需求。面对这样的挑战,只有私有

    2024年04月23日
    浏览(56)
  • 对标ChatGPT生态: 智谱全新大模型 GLM-4 发布

    🍁 展望:关注我, AI 和 编程 学习之旅上,我与您一同成长! 今天上午,在北京举办 2024年度技术开放日 Zhipu DevDay,国内当前估值最高的AI大模型独角兽智谱AI发布了 新一代基座大模型GLM-4 。 性能比上一代提升接近60%,整体评测结果进阶GPT-4,支持更长的上下文、更强的多模

    2024年01月17日
    浏览(60)
  • 万字详谈AI芯片的生态

    摘要: “生态”本身就是个很宽泛的词,生态本身的定义很容易陷入文字游戏的范畴。「我今天更多从一些公认的标的物出发去讨论生态竞争的底层逻辑。」 今天抽空写个文章,聊一聊AI芯片的生态问题。这个话题很大,涉及面非常宽泛,而且不是纯技术问题,相关的争议也

    2024年01月17日
    浏览(36)
  • ChatGPT4通道开放接入基于OPEN AI 平台你的任何APP 可一键接入AI 智能

    你一定很好奇什么是 OPEN AI快速开发平台 顾名思义,开放的OPEN AI平台。 基于这个平台你的上层应用,如何 APP,小程序,H5,WEB , 公众号 ,任何一切终端都可以轻松接入,AI智能应用。 爆肝一周,我开源了ChatGPT 中文版接口,官方1:1镜像支持全部 官方接口 持续熬夜爆肝,炸裂的O

    2024年02月15日
    浏览(54)
  • 金融行业步入大模型时代,AI重塑生态与价值

    中国人工智能事业尽管起步较晚,但呈现出飞速发展的势头,自2014年起至今,经历了从创业高潮到应用部署再到技术瓶颈的全面生命周期,而今正迈入大规模商业变现的崭新阶段。围绕生成式AI浪潮下,谁能率先落地的AIGC应用,谁就能拥有智能化应用的机遇。 从《金融科技

    2024年02月10日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包