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接口,增加代理功能。
相关推荐
Peter_Monster13 分钟前
大语言模型(LLM)架构核心解析(干货篇)
人工智能·语言模型·架构
雨中飘荡的记忆20 分钟前
深入理解设计模式之单例模式
java·设计模式
程序员西西28 分钟前
Spring Boot整合MyBatis调用存储过程?
java·后端
Ma04071333 分钟前
【机器学习】监督学习、无监督学习、半监督学习、自监督学习、弱监督学习、强化学习
人工智能·学习·机器学习
cooldream200935 分钟前
LlamaIndex 存储体系深度解析
人工智能·rag·llamaindex
2501_9418798139 分钟前
Python在微服务高并发异步API网关请求处理与智能路由架构中的实践
java·开发语言
AAA简单玩转程序设计41 分钟前
Java进阶小白手册:基础玩法升级,告别青铜套路
java
whltaoin42 分钟前
【 手撕Java源码专栏 】Spirng篇之手撕SpringBean:(包含Bean扫描、注册、实例化、获取)
java·后端·spring·bean生命周期·手撕源码
Elastic 中国社区官方博客1 小时前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
知识浅谈1 小时前
我用Gemini3pro 造了个手控全息太阳系
人工智能