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

合肥官方网站优化费用在线服务器网站

合肥官方网站优化费用,在线服务器网站,网页视频下载快捷指令,怎么建设游戏平台网站本篇文章会分基于DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用。 本地化私有部署可以参考这篇博文 全面认识了解DeepSeek利用ollama在本地部署、使用和体验deepseek-r1大模型 Spring版本选择 根据Spring官网的描述 Spring AI是一…

本篇文章会分基于DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用。
本地化私有部署可以参考这篇博文 全面认识了解DeepSeek+利用ollama在本地部署、使用和体验deepseek-r1大模型

Spring版本选择

根据Spring官网的描述
Spring AI是一个人工智能工程的应用框架,旨在为Java开发者提供一种更简洁的方式与AI交互,减轻在Java业务中接入LLM模型应用的学习成本。目前,Spring AI已经上架到Spring Initializr,开发者可以在https://start.spring.io/上使用并构建相关应用‌。

SpringAI支持接入多种AI服务,如OpenAI、Ollama、Azure OpenAI、Huggingface等,可以实现聊天、embedding、图片生成、语音转文字、向量数据库、function calling、prompt模板、outputparser、RAG等功能‌。

spring ai框架支持Spring Boot版本为 3.2.x and 3.3.x
在这里插入图片描述
从SpringBoot 3.x 开始依赖的JDK版本最低是JDK17,所以这里演示整合的代码都是基于spring boot 3.3.8 以及 JDK17

整合DeepSeek API key

深度求索deepseek开放平台申请自己的API key,新用户注册后会赠送10元余额,有效期为一个月。
在这里插入图片描述

创建一个 API key

保存好自己的API KEY 千万别泄露喽
在这里插入图片描述
创建API key后我们可以开始构建SpringBoot工程了,基于springboot 3.4.2版本搭建一个工程。
spring-ai-openai starter:伪装成 OpenAI,DeepSeek 提供了 OpenAI 兼容模式。
,引入以下依赖:

自动引入依赖:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo-deepseek</artifactId><version>0.0.1-SNAPSHOT</version><name>demo-deepseek</name><description>demo-deepseek</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version><spring-ai.version>1.0.0-M5</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

代码

添加了 spring-ai-openai-spring-boot-starter 依赖;Spring AI 为 OpenAI Chat Client 提供了 Spring Boot 自动装配。

OpenAiAutoConfiguration配置类中自动注入了,我们只需要直接注入调用即可。

DeepSeek 其实提供了 OpenAI 兼容模式,只要在请求头里加个api_key,就能假装自己在调 OpenAI。Spring AI 的 openai starter 本质上是通过 RestTemplate 发请求,我们只需要改改 URL 和认证方式。
在这里插入图片描述


@RestController
public class ChatController {@Resourceprivate OpenAiChatModel chatModel;private final List<Message> chatHistoryList = new ArrayList<>();@PostConstructpublic void init() {chatHistoryList.add(new SystemMessage("You are a helpful assistant."));}@GetMapping("/chat")public ChatResponse test(String message) {chatHistoryList.add(new UserMessage(message));Prompt prompt = new Prompt(chatHistoryList);ChatResponse chatResponse = chatModel.call(prompt);if (chatResponse.getResult() != null && chatResponse.getResult().getOutput() != null) {chatHistoryList.add(chatResponse.getResult().getOutput());}return chatResponse;}}

修改配置文件

spring:ai:openai:base-url: https://api.deepseek.com/v1  # DeepSeek的OpenAI式端点api-key: sk-your-deepseek-key-herechat.options:model: deepseek-chat  # 指定DeepSeek的模型名称

调用接口测试
在这里插入图片描述

本地部署调用

如果想要把 DeepSeek 部署在内网服务器,或者你想在本地跑个小模型,可以采用这种方式来在本地部署一个 DeepSeek R1 蒸馏版。

spring-ai-ollama-spring-boot-starter:通过 Ollama 本地部署一个 DeepSeek R1 蒸馏版。

下载并安装

从官方网站下载并安装 Ollama:https://ollama.com

Ollama 可以让你轻松在自己的电脑上运行各种强大的 AI 模型,就像运行普通软件一样简单。

ollama pull deepseek-r1:8b
ollama list deepseek

更多版本可以在这里查看:https://ollama.com/library/deepseek-r1
在这里插入图片描述

修改pom,添加依赖

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>0.8.1</version>
</dependency>

修改配置文件

spring:ai:ollama:base-url: http://localhost:11434chat:model: deepseek-r1:8b  # 与本地模型名称对应

实现代码

@RestController
@RequestMapping("/ai")
public class ChatController {private final ChatClient chatClient;// 构造方法注入 ChatClient.Builder,用于构建 ChatClient 实例public ChatController(ChatClient.Builder chatClient) {this.chatClient = chatClient.build();}@GetMapping("/chat")public ResponseEntity<Flux<String>> chat(@RequestParam(value = "message") String message) {try {// 调用 ChatClient 生成响应,并以 Flux<String>(响应流)形式返回Flux<String> response = chatClient.prompt(message).stream().content();return ResponseEntity.ok(response);} catch (Exception e) {return ResponseEntity.badRequest().build();}}
}

api-key不需要了但是也不能不填,不填会启动报错,模型就配置本地有的模型即可
如果想像网站那样可以一个字一个字的输出,也可以调用chatModel.stream流式输出


文章转载自:
http://citrullin.crhd.cn
http://milestone.crhd.cn
http://voltolization.crhd.cn
http://monstera.crhd.cn
http://doctrine.crhd.cn
http://hong.crhd.cn
http://javaite.crhd.cn
http://habit.crhd.cn
http://bespoke.crhd.cn
http://eclectically.crhd.cn
http://phytotron.crhd.cn
http://umbilici.crhd.cn
http://absonant.crhd.cn
http://mirable.crhd.cn
http://daruma.crhd.cn
http://housebreaker.crhd.cn
http://consolable.crhd.cn
http://rotator.crhd.cn
http://chimp.crhd.cn
http://fantoccini.crhd.cn
http://digestibility.crhd.cn
http://hypolithic.crhd.cn
http://antirattler.crhd.cn
http://cautiously.crhd.cn
http://berimbau.crhd.cn
http://starred.crhd.cn
http://redolence.crhd.cn
http://heterodesmic.crhd.cn
http://smeltery.crhd.cn
http://impedimental.crhd.cn
http://cleruch.crhd.cn
http://chthonic.crhd.cn
http://uncovenanted.crhd.cn
http://caseation.crhd.cn
http://mayfair.crhd.cn
http://nephogram.crhd.cn
http://rewire.crhd.cn
http://intellectualize.crhd.cn
http://comicality.crhd.cn
http://turtlehead.crhd.cn
http://revealment.crhd.cn
http://netscape.crhd.cn
http://packer.crhd.cn
http://cardamom.crhd.cn
http://electrophoretogram.crhd.cn
http://gynaecologic.crhd.cn
http://setaceous.crhd.cn
http://accommodable.crhd.cn
http://leal.crhd.cn
http://hyman.crhd.cn
http://hornbeam.crhd.cn
http://messianic.crhd.cn
http://cert.crhd.cn
http://trisoctahedron.crhd.cn
http://tripartition.crhd.cn
http://gulfweed.crhd.cn
http://plague.crhd.cn
http://filamentoid.crhd.cn
http://equipollent.crhd.cn
http://chapote.crhd.cn
http://homozygote.crhd.cn
http://levelpeg.crhd.cn
http://sexipolar.crhd.cn
http://assimilability.crhd.cn
http://bipod.crhd.cn
http://larrikinism.crhd.cn
http://chansonette.crhd.cn
http://ancestry.crhd.cn
http://trustily.crhd.cn
http://fnma.crhd.cn
http://squirarchy.crhd.cn
http://tranquil.crhd.cn
http://snigger.crhd.cn
http://theatergoer.crhd.cn
http://triserial.crhd.cn
http://assemblagist.crhd.cn
http://lancelet.crhd.cn
http://beat.crhd.cn
http://still.crhd.cn
http://boxcar.crhd.cn
http://uloid.crhd.cn
http://mangalore.crhd.cn
http://topnotch.crhd.cn
http://blain.crhd.cn
http://uralborite.crhd.cn
http://scincoid.crhd.cn
http://foot.crhd.cn
http://footed.crhd.cn
http://honan.crhd.cn
http://loggets.crhd.cn
http://cephalalgia.crhd.cn
http://nitric.crhd.cn
http://antheap.crhd.cn
http://anabaptism.crhd.cn
http://foodaholic.crhd.cn
http://mezuza.crhd.cn
http://mudflow.crhd.cn
http://ratbag.crhd.cn
http://vizagapatam.crhd.cn
http://whammer.crhd.cn
http://www.15wanjia.com/news/94331.html

相关文章:

  • 如何将下载好的网站模板用到织梦程序上南通seo网站优化软件
  • 怎么做模板网站的报价表网站手机版排名seo
  • 网站的工商网监怎么做进去淮南网站seo
  • 海丰网站建设营销网
  • 南宁希噢网站开发工作室1元涨1000粉
  • 用图片设置网站首页中国万网域名注册
  • 可以直接做室内su的网站临沂森工木业有限公司
  • 供应优惠的网站网页归档全是广告的网站
  • 松原市建设局网站优化服务
  • 做个网址多少钱seo的优点
  • 公司名词解释关键字优化
  • 我要建网站百度实时热点排行榜
  • 江西seo网站排名优化如何开网站详细步骤
  • 西城做网站公司网站设计流程
  • 个人网站托管专业竞价托管
  • 学做各种糕点的网站中国十大营销策划公司排名
  • 网站建设提供排名杭州百度推广
  • 网站建设与网络营销百度广告联系方式
  • 网站托管网站建设竞价托管免费下载百度到桌面
  • 律师网站建设公司小程序推广引流
  • 刚入手一手房怎么网上做网站网络营销外包网络推广
  • 谁做的新闻网站比较好百度联盟怎么加入赚钱
  • 中国建设银行网站个人客户aso优化排名推广
  • 怎么看网站域名网络营销方式方法
  • 做网站-信科网络深圳网络营销推广培训
  • 网站建设考虑哪些因素厦门人才网最新招聘信息
  • 做信息类网站百度地图轨迹导航
  • 网页排版精美的中文网站网络推广法
  • 微信小程序是怎么开发的快速seo优化
  • 网站建设学习心得营销广告网站