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接口,增加代理功能。
相关推荐
niceffking3 分钟前
JVM HotSpot 虚拟机: 对象的创建, 内存布局和访问定位
java·jvm
菜鸟求带飞_6 分钟前
算法打卡:第十一章 图论part01
java·数据结构·算法
jndingxin18 分钟前
OpenCV特征检测(1)检测图像中的线段的类LineSegmentDe()的使用
人工智能·opencv·计算机视觉
骆晨学长22 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
AskHarries27 分钟前
利用反射实现动态代理
java·后端·reflect
@月落28 分钟前
alibaba获得店铺的所有商品 API接口
java·大数据·数据库·人工智能·学习
liuyang-neu34 分钟前
力扣 42.接雨水
java·算法·leetcode
z千鑫37 分钟前
【人工智能】如何利用AI轻松将java,c++等代码转换为Python语言?程序员必读
java·c++·人工智能·gpt·agent·ai编程·ai工具
Flying_Fish_roe1 小时前
Spring Boot-Session管理问题
java·spring boot·后端
赚钱给孩子买茅台喝1 小时前
智能BI项目第四期
java·spring boot·spring cloud·aigc