Spring AI 简介
- 定义:与Spring生态系统集成的项目,简化在Spring应用中使用AI技术。
- 特点:提供工具和接口,简化集成AI功能,避免底层细节复杂性。
Spring AI 主要功能
- 跨AI提供商API:聊天、文本到图像、嵌入模型等,支持同步和流API。
- 支持AI模型:来自OpenAI、Microsoft、Amazon、Google、Huggingface等。
- 跨Vector Store API:支持8个向量数据库,提供类似SQL的元数据过滤器API。
- 函数调用:AI模型可调用Java
Function
对象。 - 自动配置和启动器:AI模型和矢量存储的Spring Boot配置。
- ETL框架:数据工程,支持数据加载到向量数据库。
接入ChatGPT
- 官方Demo:
ai-openai-helloworld
,实现基本会话功能。 - 国内访问问题:无代理设置,可能访问受限。
- 改进:增加代理配置,适应国内访问需求。
项目细节
- 项目地址:spring-ai-chatgpt
- 实现Demo:3个,包括简单回话、流式回话、消息模板提示。
- 启动配置:修改
application.yml
,填写apiKey
和代理配置。
接口示例
- 简单回话接口:生成完毕后返回。
- 流式回话接口:实时流式返回生成内容。
- 模板对话接口:指定格式,自动转换为Java实体类。
配置示例(application.yml)
spring:ai:proxy:host: 127.0.0.1port: 1080openai:api-key: xxxxchat:options:model: gpt-3.5-turbo
接口代码示例
- @GetMapping(“/ai/simple”):简单回话生成。
- @GetMapping(“/ai/stream”):流式回话。
- @GetMapping(“/ai/template”):模板对话,自动映射到Java对象。
项目结构
- 特点:代码简洁,主要实现代理设置。
- 重写:OpenAI接口,增加代理功能。