当前位置: 首页 > wzjs >正文

网站建设问卷调查表做360手机网站快速排名软件

网站建设问卷调查表,做360手机网站快速排名软件,wordpress 读取图片慢,成都网络推广培训文章目录 一.Spring Ai介绍1.0 认识Spring Ai1.1 特征1.1 大模型专业名字介绍1.1.1 RAG(检索增强生成)RAG 的基本原理RAG 的关键技术RAG 的优势RAG 的应用场景 1.1.2 fine-tuning(微调)1.1.3 function-call(函数调用) 1.2 创建简单的Spring Ai项目 二.Spring Ai简单的智能应用2…

文章目录

  • 一.Spring Ai介绍
    • 1.0 认识Spring Ai
    • 1.1 特征
    • 1.1 大模型专业名字介绍
      • 1.1.1 RAG(检索增强生成)
        • RAG 的基本原理
        • RAG 的关键技术
        • RAG 的优势
        • RAG 的应用场景
      • 1.1.2 fine-tuning(微调)
      • 1.1.3 function-call(函数调用)
    • 1.2 创建简单的Spring Ai项目
  • 二.Spring Ai简单的智能应用
    • 2.1 智能提问实现
    • 2.2 角色预设
    • 2.3 流式响应
    • 2.4 ChatClient和ChatMode区别
    • 2.5 文生图
    • 2.6 文生语音
    • 2.7 语音翻译
    • 2.8 多模态
    • 2.9 function-call请求
    • 持续待更新...........

一.Spring Ai介绍

Spring Ai 官方:https://spring.io/projects/spring-ai

1.0 认识Spring Ai

Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI 领域,并将使用 POJO 作为应用程序的构建块推广到 AI 领域。

在这里插入图片描述

Spring AI 的核心是解决了 AI 集成的根本挑战:将您的企业数据和 APIAI 模型连接起来。

1.1 特征

Spring AI 提供以下功能:

  • 支持所有主要的 AI 模型提供商,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama。支持的模型类型包括:
    • 聊天完成
    • 嵌入
    • 文本到图像
    • 音频转录
    • 文本到语音
    • 适度
  • 支持跨 AI 提供商对同步和流式处理 API 选项的可移植 API 支持。此外,还可以访问特定于模型的特征。
  • 结构化输出 - AI 模型输出到 POJO 的映射。
  • 支持所有主要的矢量数据库提供商,例如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate
  • 跨 Vector Store 提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤器 API。
  • 工具/函数调用 - 允许模型请求执行客户端工具和函数,从而根据需要访问必要的实时信息。
  • 可观察性 - 提供对 AI 相关作的见解。
  • 用于数据工程的文档注入 ETL 框架。
  • AI 模型评估 - 帮助评估生成的内容并防止幻觉响应的实用程序。
  • ChatClient API - 用于与 AI 聊天模型通信的 Fluent API,惯用性类似于 WebClient 和 RestClient API。
  • Advisors API - 封装重复的生成式 AI 模式,转换发送到和传出语言模型 (LLM) 的数据,并提供跨各种模型和用例的可移植性。
  • 支持 Chat Conversation Memory and Retrieval Augmented Generation (RAG)。
  • Spring Boot 所有 AI 模型和向量存储的自动配置和启动器 - 使用 start.spring.io 选择所需的模型或向量存储。

上述内容摘自:Spring Ai 官网。

1.1 大模型专业名字介绍

1.1.1 RAG(检索增强生成)

在这里插入图片描述

大致思路:假如有个智能客服,它会优先去查询向量数据中数据,将查到的相关数据给 prompt对象 ,然后通过大模型响应给应用程序。

RAG 的基本原理

RAG 主要由 两个阶段 组成:

  1. 检索阶段(Retrieval)

    • 在生成文本之前,模型会从一个 外部知识库(如向量数据库、文档集合等)检索出相关的信息。
    • 这种检索通常使用 向量搜索(如 FAISS、Milvus)或基于搜索引擎(如 Elasticsearch)。
  2. 生成阶段(Generation)

    • 结合检索到的内容,大语言模型(如 GPT、LLaMA)使用这些外部信息来生成更准确、符合事实的回答。
    • 这种方式可以减少幻觉(hallucination),让生成的内容更加可信。
RAG 的关键技术

向量数据库

  • 用于存储和检索文本嵌入(text embeddings)。
  • 常见的向量数据库:
    • FAISS(Facebook AI Similarity Search)
    • Milvus
    • Pinecone
    • Weaviate

文本嵌入(Embedding)

  • 使用模型(如 OpenAI Embeddings、BERT、Sentence-BERT)将文本转换为向量,便于相似度搜索。

检索策略

  • 稠密检索(Dense Retrieval):基于神经网络(如 DPR、ColBERT),效果更优,但计算成本较高。
  • 稀疏检索(Sparse Retrieval):如 BM25,传统的基于关键词的检索方法。
RAG 的优势
  • 减少幻觉:模型基于真实检索到的内容生成回答,降低胡编乱造的概率。
  • 增强知识:即使预训练数据缺乏某些信息,模型仍可动态检索外部知识库。
  • 实时更新:相比 LLM 需要重新训练,RAG 只需更新知识库,适用于动态领域(如法律、医学等)。
  • 更精准回答:相比纯 LLM,RAG 结合检索数据,可提供更精确的参考来源。
RAG 的应用场景
  • 智能问答系统(如企业知识库问答、金融/法律咨询)
  • 代码自动补全(检索 GitHub 代码库,提高准确性)
  • 医疗辅助诊断(结合医学文献,提高生成答案的专业性)
  • 法律法规检索(查询法律条文,生成更符合规范的解读)
  • 客服机器人(实时检索 FAQ,提升客服效率)

1.1.2 fine-tuning(微调)

在这里插入图片描述

1.1.3 function-call(函数调用)

在这里插入图片描述

1.2 创建简单的Spring Ai项目

官方提示:Spring AI 支持 Spring Boot 3.2.x 和 3.3.x

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.Spring Ai简单的智能应用

(延续使用1.2中创建的Spring Ai 应用。)

2.1 智能提问实现

【yml配置】

spring:ai:openai:api-key: you_api_keybase-url: 你的api_key的请求路径chat:options:model: gpt-3.5-turbo  # 调用的哪个模型名称

由于调用 的是国外的open ai 大模型,需要“魔法”,所以我这里搞了中转站,请求中转站的 api-key和base-url,具体的做法 淘宝 搜 open api key

【controller】

package com.hz.controller;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;/*** @Author: weiyi* @Description:* @Date 2025/2/28 21:24* @ClassName AiController* @Version 1.0*/@RestController
@RequestMapping("/ai")
public class AiController {//智能对话的客户端private final ChatClient chatClient;public AiController(ChatClient.Builder chatClientBuilder) {this.chatClient = chatClientBuilder.build();}@GetMapping("/ai01")public String generation(@RequestParam(value = "message", defaultValue = "给我讲个笑话")String message) {return this.chatClient.prompt()  // prompt:提示词.user(message) // message:用户输入的信息.call() // 调用大模型 远程请求大模型.content(); // 获取大模型的返回结果}
}

上述代码是 参考的spring Ai 官方文档

在这里插入图片描述

【测试】

http://localhost:8080/ai/ai01?message=列出spring中的重点概念

在这里插入图片描述

这个场景模拟的是在大模型如deepseek等对话窗口的提问。

2.2 角色预设

假如你希望是一个特定场景下的智能体对话,可以进行角色预设。

在项目中的config包中创建AiConfig配置类

/*** @Author: weiyi* @Description:* @Date 2025/2/28 21:40* @ClassName AiConfig* @Version 1.0*/
@Configuration
public class AiConfig {@BeanChatClient chatClient(ChatClient.Builder builder) {return builder.defaultSystem("你现在不是 chat gpt 了," +"你是一个精通古代诗人的智能助手,有个诗人叫维一,知识渊博").build();}}

【修改controller】

在这里插入图片描述

/*** @Author: weiyi* @Description:* @Date 2025/2/28 21:24* @ClassName AiController* @Version 1.0*/@RestController
@RequestMapping("/ai")
public class AiController {//智能对话的客户端@Autowiredprivate  ChatClient chatClient;// public AiController(ChatClient.Builder chatClientBuilder) {//     this.chatClient = chatClientBuilder.build();// }@GetMapping("/ai01")public String generation(@RequestParam(value = "message", defaultValue = "给我讲个笑话")String message) {// prompt:提示词return this.chatClient.prompt().user(message) // message:用户输入的信息.call() // 调用大模型 远程请求大模型.content(); // 获取大模型的返回结果}
}

测试

在这里插入图片描述

2.3 流式响应

通俗点说流式响应就是将生成的文本内容一个字一个字的显示出来。

/*** @description: 流式响应* @author: weiyi* @date: 2025/3/1 19:08* @param: [message]* @return: reactor.core.publisher.Flux<java.lang.String>**/@GetMapping(value = "/ai02", produces = "text/html;charset=utf-8")public Flux<String> generation02(String message){Flux<String> output = chatClient.prompt().user(message).stream().content();return output;}

如果不设置 produces = “text/html;charset=utf-8” 输出内容会出现中文乱码。

在这里插入图片描述

2.4 ChatClient和ChatMode区别

ChatClient Api 里是大模型通用的功能。

ChatMode Api 是大模型特有功能。假如用deepseek特有的模型功能需要用ChatMode Api

在这里插入图片描述

如:用open ai 下模型:

在这里插入图片描述

@Autowiredprivate ChatModel chatModel;@GetMapping(value = "/ai03", produces = "text/html;charset=utf-8")public String generation03(@RequestParam(value = "message",defaultValue = "给我讲个笑话") String message){ChatResponse response = chatModel.call(new Prompt(message, // new UserMessage(message)OpenAiChatOptions.builder().model("gpt-3.5-turbo").temperature(0.4)//让生成文字更有温度.build()));//等同于 .contentreturn response.getResult().getOutput().getText();}

在这里插入图片描述

2.5 文生图

在这里插入图片描述


@GetMapping(value = "/ai05")public String generation05(@RequestParam(value = "message",defaultValue = "画个猫") String message) {ImageResponse response = openaiImageModel.call(new ImagePrompt(message, // 图片提示词OpenAiImageOptions.builder().quality("hd") // 图片质量.withModel(OpenAiImageApi.DEFAULT_IMAGE_MODEL).N(1) // 生成图片数量.height(1024).width(1024).build()));return response.getResult().getOutput().getUrl();}

会生成图片的url地址:

在这里插入图片描述

将生成的图片地址粘贴浏览器地址栏:

在这里插入图片描述

2.6 文生语音

持续待更新…

2.7 语音翻译

持续待更新…

2.8 多模态

持续待更新…

2.9 function-call请求

持续待更新…

持续待更新…


文章转载自:

http://Vhq4yvVA.mrtdq.cn
http://sthmXmuJ.mrtdq.cn
http://zu8voyH7.mrtdq.cn
http://TqqpfqSs.mrtdq.cn
http://5QSeVJG3.mrtdq.cn
http://T1Fx3CgI.mrtdq.cn
http://f7htLVdJ.mrtdq.cn
http://Y3WN1sl2.mrtdq.cn
http://qr0NtZj8.mrtdq.cn
http://rbtQFpHx.mrtdq.cn
http://D3PSGUx9.mrtdq.cn
http://BgYuQdEB.mrtdq.cn
http://8nCFV0YX.mrtdq.cn
http://v2Aw9MUk.mrtdq.cn
http://t170cxxK.mrtdq.cn
http://uBSgi19v.mrtdq.cn
http://IK87NcY7.mrtdq.cn
http://BTTaaEN1.mrtdq.cn
http://FLXVXOLR.mrtdq.cn
http://YyFzBeeE.mrtdq.cn
http://w125arEx.mrtdq.cn
http://iBltkNvl.mrtdq.cn
http://4C6VItFq.mrtdq.cn
http://dPc2xryj.mrtdq.cn
http://okLkhSsy.mrtdq.cn
http://13x2rdaN.mrtdq.cn
http://muUGM16L.mrtdq.cn
http://W4PaAwPK.mrtdq.cn
http://hEqvbyGA.mrtdq.cn
http://T6dks54z.mrtdq.cn
http://www.dtcms.com/wzjs/676720.html

相关文章:

  • 大连做网站外包响水网站建设服务商
  • 如何做网站连接阀门行业网站怎么做
  • word用来做网站的招聘网站建设销售
  • 企业网站建站 优帮云做的网站浏览的越多越挣钱
  • 网站空间商汽车网站模板
  • 江门网站制作设计提升网站访问量
  • pythom 网站开发规范html5 php 网站源码
  • 山东省城乡建设厅网站网站备案查询官网入口查询
  • 企业 网站建设网页设计与网站建设在线作业答案
  • 百度推广和网站建设一个软件开发流程
  • 做公司标志用哪个网站深圳东门步行街地铁站
  • 帝国cms网站地图xml工厂货源网
  • 射阳做企业网站哪家好杭州seo平台
  • c网站开发案例详解代码室内设计网站哪里可以看
  • 自己建网站多少钱asp网站代码
  • 通州网站开发公司门户网站样式
  • 网页设计与网站建设作品浏览器怎么取消2345网址导航
  • 宜选科技就是帮人做网站wordpress 目录 模板
  • 中国建设官网招聘网站apache搭建wordpress
  • 网站的空间是服务器吗深圳网站设计三把火
  • 温州公司网站建设员工oa系统
  • 河北网站建设中心沈阳怎么做网站
  • 公司网站要怎么做产品招商网
  • 网站建设需求说明书怎么写建立免费公司网站
  • 怎么自建一个网站制作博客网站
  • 郑州网站制作企业建e网怎么做效果图
  • 网站建设三秒原则wordpress 禁用google字体
  • 郑东新区网站开发软件开发培训学校的三大特色
  • 承德市宽城县建设局网站wordpress 主题模板下载
  • 如何海外网站建设公司宣传 如何做公司网站