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

怎么免费做网站推广网站关键词优化系统

怎么免费做网站推广,网站关键词优化系统,论述营销型网站的评价标准,网页管理系统怎么制作Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则应用于 AI 领域。 Spring AI 提供以下功能: 支持所有主要的 AI 模型提供商,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama等。支持跨 AI 提供商对同…

Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则应用于 AI 领域。

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。
  • 支持跨向量存储提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤器 API。
  • 工具/函数调用 - 允许模型请求执行客户端工具和函数,从而根据需要访问必要的实时信息。
  • 可观察性。
  • 用于数据工程的文档注入 ETL 框架。
  • AI 模型评估 - 帮助评估生成的内容并防止幻觉响应的实用程序。
  • ChatClient API - 用于与 AI 聊天模型通信的 Fluent AP。
  • Advisors API - 封装重复的生成式 AI 模式,转换发送到和传出语言模型 (LLM) 的数据,并提供跨各种模型和用例的可移植性。
  • 支持 Chat Conversation Memory(聊天记忆) and Retrieval Augmented Generation (RAG)。
  • 针对所有 AI 模型和向量存储提供Spring Boot的自动配置和启动器。

下面,我们通过具体的案例来学习下Spring AI的使用。

导入jar

新建spring boot项目,使用spring ai时,spring boot使用3.0以上版本,jdk使用17及以上版本。

<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

本例调用智谱大模型,还需要导入如下jar:

<!--     m7以后使用该pom   -->
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-zhipuai</artifactId>
</dependency>

注意:本例使用spring ai的1.0.0-SNAPSHOT版本,如果使用1.0.0-M6及之前的版本,导入的智谱的artifactId为spring-ai-zhipuai-spring-boot-starter。

yml配置

spring:ai:zhipuai:api-key: XXXXXXXXXXXXXX # 智谱的apikeychat:options:model: glm-4-flashtemperature: 0.7

本例测试智谱大模型的调用,api-key使用读者自己申请的key。

配置类

package com.renr.springainew.common;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.ai.zhipuai.ZhiPuAiChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class SpringAiConfig {// 创建ChatClient对象@Beanpublic ChatClient chatClient(ZhiPuAiChatModel chatModel) {return ChatClient.builder(chatModel).build();}}

调用模型的代码

package com.renr.springainew.controller;import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.zhipuai.ZhiPuAiChatModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;@RestController
public class ChatController {@Resourceprivate ZhiPuAiChatModel chatModel;@Resourceprivate ChatClient client;@GetMapping("/chat")public String chat(String message) {String answer = this.chatModel.call(message);System.out.println(answer);return "success";}@GetMapping("/chat2")public String chat2(String message) {String answer = this.client.prompt("你好").call().content();System.out.println(answer);return "success";}}

本例使用两种方式调用智谱的大模型:

  • 通过ZhipuAiChatModel对象
  • 通过ChatClient对象,ChatClient支持函数调用、聊天记忆、RAG等高级功能

打印请求和响应的日志

修改配置类

package com.renr.springainew.common;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.ai.zhipuai.ZhiPuAiChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class SpringAiConfig {@Beanpublic SimpleLoggerAdvisor simpleLoggerAdvisor() {// 创建SimpleLoggerAdvisor实例,可以传递日志级别等配置参数(此处为默认配置)return new SimpleLoggerAdvisor();}@Beanpublic ChatClient chatClient(ZhiPuAiChatModel chatModel) {return ChatClient.builder(chatModel)// 设置系统消息.defaultSystem("你是一个java架构师")//配置日志相关的Advisor,需要开启日志级别以及配置 默认debug级别.defaultAdvisors(simpleLoggerAdvisor()).build();}//    @Bean
//    public ChatClient chatClient(ZhiPuAiChatModel chatModel) {
//        return ChatClient.builder(chatModel).build();
//    }}

Spring AI的Advisors API 提供了一种灵活而强大的方法来拦截、修改和增强 Spring AI的应用。 通过利用 Advisors API,开发人员可以创建更复杂、可重用和可维护的 AI 组件。本例使用SimpleLoggerAdvisor提供日志打印功能。

另外,在创建ChatClient对象时,我们还设置了系统消息。聊天大模型一般包含三种消息类型:系统消息、用户消息和Ai返回的消息。

yml中增加日志配置

logging:level:org.springframework.ai.chat.client.advisor: DEBUG

调用http://localhost:8080/chat2测试

请求数据日志如下:

request: ChatClientRequest[prompt=Prompt{messages=[SystemMessage{textContent='你是一个java架构师', messageType=SYSTEM, metadata={messageType=SYSTEM}}, UserMessage{content='你好', properties={messageType=USER}, messageType=USER}], modelOptions=org.springframework.ai.zhipuai.ZhiPuAiChatOptions@bd71d690}, context={}]

响应日志如下:

response: {"result" : {"metadata" : {"finishReason" : "STOP","contentFilters" : [ ],"empty" : true},"output" : {"messageType" : "ASSISTANT","metadata" : {"finishReason" : "STOP","role" : "ASSISTANT","id" : "202505072240346deb3a95109d44d9","messageType" : "ASSISTANT"},"toolCalls" : [ ],"media" : [ ],"text" : "作为一位虚拟的Java架构师,我很高兴能为您提供帮助。请问有什么具体的技术问题或者架构设计上的挑战需要我协助您解决吗?"}},"metadata" : {"id" : "202505072240346deb3a95109d44d9","model" : "glm-4-flash","rateLimit" : {"requestsLimit" : 0,"tokensLimit" : 0,"requestsReset" : 0.0,"tokensReset" : 0.0,"tokensRemaining" : 0,"requestsRemaining" : 0},"usage" : {"promptTokens" : 13,"completionTokens" : 33,"totalTokens" : 46,"nativeUsage" : {"completion_tokens" : 33,"prompt_tokens" : 13,"total_tokens" : 46}},"promptMetadata" : [ ],"empty" : false},"results" : [ {"metadata" : {"finishReason" : "STOP","contentFilters" : [ ],"empty" : true},"output" : {"messageType" : "ASSISTANT","metadata" : {"finishReason" : "STOP","role" : "ASSISTANT","id" : "202505072240346deb3a95109d44d9","messageType" : "ASSISTANT"},"toolCalls" : [ ],"media" : [ ],"text" : "作为一位虚拟的Java架构师,我很高兴能为您提供帮助。请问有什么具体的技术问题或者架构设计上的挑战需要我协助您解决吗?"}} ]
}

http://www.dtcms.com/wzjs/430306.html

相关文章:

  • 网站设计一个月多少钱站长工具流量统计
  • 印度喜欢用什么框架做外贸网站广告网页
  • 网站建设教程大全 百度网盘雅虎搜索
  • 小众高逼格公司名字seo基础入门免费教程
  • 开发工具的控件属性用不了宁波seo网络推广咨询热线
  • 房产网站建设的目的网页设计与制作书籍
  • 什么公司可以做网站等级保护厦门seo大佬
  • 临沂供电公司网站企业管理培训课程网课免费
  • 销售网站开发WBS分解合肥百度推广公司哪家好
  • 临安做企业网站企业营销案例
  • 网站后台更新后前台没有同步更新怎么做好网站营销推广
  • 企业网站源码排行软考十大最靠谱it培训机构
  • 郑州网站建设到诺然bt磁力bt天堂
  • 云网站注册sem推广竞价托管
  • 怎样看一个网站是不是织梦做的电子商务seo
  • 网站建设分金手指专业深圳网站设计小程序
  • 宝山企业做网站企业网站类型有哪些
  • 网站建设全程揭秘光盘文件排名优化公司口碑哪家好
  • 长沙网站制作公司沈阳seo收费
  • 网站开发技术文档包含宁波正规站内优化seo
  • 怎么做房产网站网络推广培训
  • 黄骅市做网站友情链接seo
  • 昆山做百度网站强强seo博客
  • 生产企业解决方案seo的内容怎么优化
  • 建立个人网站服务器南宁seo外包要求
  • 西宁网络公司做网站哪家好首页优化排名
  • 个人网站制作方法关键词查询工具有哪些
  • 一般网站建设需求有哪些方面网上引流推广怎么做
  • 做网站移动端建多大尺寸引擎优化seo怎么做
  • 企业网站建设cms厦门网站流量优化价格