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

丹阳网站建设如何广告推广赚钱在哪接

丹阳网站建设如何,广告推广赚钱在哪接,上海建工一建集团有限公司,长沙点看网络科技有限公司Spring AI 是一个强大的框架,它使得开发者能够轻松地将 AI 功能集成到 Spring Boot 应用程序中。本文将通过一个简单的示例,展示如何使用 Spring AI 集成Ollama 并调用本地化DeepSeek大模型,实现跟deepseek简单的聊天对话功能。 1、前提条件…

Spring AI 是一个强大的框架,它使得开发者能够轻松地将 AI 功能集成到 Spring Boot 应用程序中。本文将通过一个简单的示例,展示如何使用 Spring AI 集成Ollama 并调用本地化DeepSeek大模型,实现跟deepseek简单的聊天对话功能。

1、前提条件

在开始之前,需要确保 DeepSeek 模型已经在本地环境中正确部署。关于“如何使用Ollama本地化部署DeepSeek ”,请参考其它文档,本文不作介绍。

2、配置 application.yml

创建springboot工程后,配置application.yml。为了确保应用程序能够正确连接到本地部署的 Ollama 模型,我们需要在application.yml文件中进行相应的配置,我是部署了DeepSeek-R1-Distill-Qwen-32B-GGUF:Q4_K_M模型,读者可以根据自己部署的模型版本,修改如下参数。

server:port: 8080spring:application:name: spring-ai-ollama-demoai:ollama:base-url: https:/127.0.0.1:8443chat:model: modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF:Q4_K_M

3、集成 Ollama 到 Spring AI 框架

接下来,我们将详细介绍如何将 Ollama 集成到 Spring AI 框架中。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.yuncheng</groupId><artifactId>spring-ai-deepseek-demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-ai.version>1.0.0-M5</spring-ai.version><spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.3</version><relativePath/></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>${spring-ai.version}</version></dependency></dependencies><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

4、创建控制器类

创建一个控制器类 DeepSeekClientController,用于处理与 AI 模型的交互。


import jakarta.servlet.http.HttpServletResponse;
import reactor.core.publisher.Flux;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.ai.chat.memory.InMemoryChatMemory;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.ollama.api.OllamaOptions;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/ollama/deepseek")
public class DeepSeekClientController {private static final String DEFAULT_PROMPT = "你好,介绍下你自己!请用中文回答。";private final ChatClient ollamaiChatClient;public DeepSeekClientController(ChatModel chatModel) {// 构造时,可以设置 ChatClient 的参数// {@link org.springframework.ai.chat.client.ChatClient};this.ollamaiChatClient = ChatClient.builder(chatModel)// 实现 Chat Memory 的 Advisor// 在使用 Chat Memory 时,需要指定对话 ID,以便 Spring AI 处理上下文。.defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory()))// 实现 Logger 的 Advisor.defaultAdvisors(new SimpleLoggerAdvisor())// 设置 ChatClient 中 ChatModel 的 Options 参数.defaultOptions(OllamaOptions.builder().topP(0.7).build()).build();}/*** ChatClient 简单调用*/@GetMapping("/simple/chat")public String simpleChat(String input) {return ollamaiChatClient.prompt(DEFAULT_PROMPT).user(input).call().content();}/*** ChatClient 流式调用*/@GetMapping("/stream/chat")public Flux<String> streamChat(HttpServletResponse response,String input) {response.setCharacterEncoding("UTF-8");return ollamaiChatClient.prompt(DEFAULT_PROMPT).user(input).stream().content();}}

   在构造函数中,初始化了一个ChatClient实例,并设置了几个关键的顾问(Advisor)来增强其功能:

1)MessageChatMemoryAdvisor:用于管理对话上下文的记忆。通过使用 InMemoryChatMemory,我们可以保存用户的对话历史记录,从而实现连续对话。

 2) SimpleLoggerAdvisor:用于记录日志,帮助调试和监控对话过程。

3) OllamaOptions:配置了模型的一些参数,例如topP(采样阈值),以控制生成文本的质量和多样性。

   本RestController提供了两个方法来处理不同的请求:

     1)简单调用 (/simple/chat):接收用户输入并返回 AI 模型的响应。使用 .call()方法同步获取结果。

     2)流式调用 (/stream/chat):接收用户输入并以流的形式返回 AI 模型的响应。使用 .stream()方法异步获取结果,适合处理长文本或需要实时更新的情况。

5、测试deepseek对话聊天

启动springboot工程后,就可以使用deepseek进行对话聊天了,可以发送如下 HTTP 请求:

1)简单调用:

http://localhost:8080/ollama/deepseek/simple/chat?input=你叫什么名字?

2)流式调用:

   http://localhost:8080/ollama/deepseek/stream/chat?input=你叫什么名字?

对于第一个请求,你会得到一个完整的 JSON 响应,包含 AI 模型的回答。而对于第二个请求,响应会以流的形式逐步返回,适合实时显示给用户。

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

相关文章:

  • 收废品做网站html友情链接
  • 网站建设功能报价网络广告宣传平台
  • 文化传播公司网站模板百度关键词在线优化
  • 官方静态网站模板下载长安网站优化公司
  • 湖北省随州市建设厅网站百度指数手机版
  • asp access网站架设教程网上推广app
  • 企业网站制作公司排名郑州抖音seo
  • 企业型网站价目表seo入门培训学多久
  • 专门做前端项目的一些网站上海专业做网站
  • 网站做哪些主题比较容易做市场营销公司排名
  • 公司网站建设合同需要交印花税2023新闻热点摘抄
  • 中国互联网协会12321举报中心商品标题关键词优化
  • 做前端网站用什么工具推广策略可以分为哪三种
  • 网站留住访客seo排名哪家公司好
  • 传播学视角下网站建设研究问答推广
  • 做羞羞的事情网站谷歌优化排名怎么做
  • html做网站项目案例雷神代刷推广网站
  • 软件公司网站设计新闻摘抄2022最新20篇
  • 商务网站开发实验seo优化范畴
  • 苏州比较好的建筑公司搜索引擎简称seo
  • 大丰市市城乡建设局网站日本产品和韩国产品哪个好
  • 手机在线做ppt的网站有哪些问题电视剧排行榜
  • 南京建设局的网站首页外贸营销
  • 物联网管理平台功能seo排名点击器曝光行者seo
  • 不错的网站建设公司网站建设步骤
  • 如何开发微信公众号小程序seo优化的主要任务
  • 做网站用什么ui美观今日新闻最新消息
  • 怎样做企业的网站首页百度贴吧入口
  • 做网站属软件什么专业软文代写多少钱一篇
  • 学网站开发如何挣钱seo技术博客