Java 项目如何快速接入AI大模型ChatGPT

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

  • 官方Demoai-openai-helloworld,实现基本会话功能。
  • 国内访问问题:无代理设置,可能访问受限。
  • 改进:增加代理配置,适应国内访问需求。

项目细节

  • 项目地址:spring-ai-chatgpt
  • 实现Demo:3个,包括简单回话、流式回话、消息模板提示。
  • 启动配置 :修改application.yml,填写apiKey和代理配置。

接口示例

  • 简单回话接口:生成完毕后返回。
  • 流式回话接口:实时流式返回生成内容。
  • 模板对话接口:指定格式,自动转换为Java实体类。

配置示例(application.yml)

yaml 复制代码
spring:
  ai:
    proxy:
      host: 127.0.0.1
      port: 1080
    openai:
      api-key: xxxx
    chat:
      options:
        model: gpt-3.5-turbo

接口代码示例

  • @GetMapping("/ai/simple"):简单回话生成。
  • @GetMapping("/ai/stream"):流式回话。
  • @GetMapping("/ai/template"):模板对话,自动映射到Java对象。

项目结构

  • 特点:代码简洁,主要实现代理设置。
  • 重写:OpenAI接口,增加代理功能。
相关推荐
DashVector6 分钟前
如何通过HTTP API检索Doc
数据库·人工智能·http·阿里云·数据库开发·向量检索
说私域10 分钟前
无人零售及开源 AI 智能名片 S2B2C 商城小程序的深度剖析
人工智能·小程序·零售
Calvin88082818 分钟前
Android Studio 的革命性更新:Project Quartz 和 Gemini,开启 AI 开发新时代!
android·人工智能·android studio
m0_7482451720 分钟前
Web第一次作业
java
小码的头发丝、21 分钟前
Java进阶学习笔记|面向对象
java·笔记·学习
m0_5485147724 分钟前
前端Pako.js 压缩解压库 与 Java 的 zlib 压缩与解压 的互通实现
java·前端·javascript
坊钰1 小时前
【Java 数据结构】移除链表元素
java·开发语言·数据结构·学习·链表
chenziang11 小时前
leetcode hot100 LRU缓存
java·开发语言
Jamence1 小时前
【深度学习数学知识】-贝叶斯公式
人工智能·深度学习·概率论