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

网站建设模式怎么写华为中小企业解决方案

网站建设模式怎么写,华为中小企业解决方案,快乐十分网站开发,网站建设状况随着AI大模型技术的升起,人们越来越感觉到生活上的便捷以及人机对话照进现实.什么是大模型呢? 大模型(Large Model),通常是指参数量非常庞大的深度学习模型,特别是在自然语言处理(NLP)、计算机视觉&#…

随着AI大模型技术的升起,人们越来越感觉到生活上的便捷以及人机对话照进现实.什么是大模型呢?

大模型(Large Model),通常是指参数量非常庞大的深度学习模型,特别是在自然语言处理(NLP)、计算机视觉(CV)等领域中,模型参数数量达到数十亿甚至数千亿的规模。

为了弥补Java在AI领域的工具短板,现在市面上出现了几款针对Java的AI开发工具.

一. AI开发工具

1.1 LangChain4J

  • 提供标准化API,支持超过15个主流大模型提供商和嵌入存储,
  • 提供工具箱,从低级提示词模板到高级AI服务,适合构建聊天机器人和检索增强生成(RAG)管道。
  • 社区支持活跃,能够快速整合最新的AI技术,便于Java开发者将AI功能集成到现有项目中

1.2 Spring Al

  • 深度集成到Spring框架中,Java开发者可以轻松将AI功能嵌入到现有Spring项目中。
  • 尽管Spring Al仍处于发展阶段,尚未发布正式版本,但其凭借Spring生态系统,具备了极强的扩展 性和集成能力。

1.3 Spring AI Alibaba

  • 提供多种大模型服务对接能力,包括主流开源与阿里云通义大模型服务(百炼)等 支持的模型类型包括聊天、文生图、音频转录、文生语音等

本文详解Langchain4j的使用.

二. 基本使用

由于现在Java开发都是基于SpringBoot整合开发,所以langchain4j也提供了对应的依赖包.除此我们也需要引入web的依赖

<dependencies><!-- langchain4j依赖  --><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-spring-boot-starter</artifactId></dependency><!-- open-ai依赖  --><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

版本管理

<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-boot.version>3.3.4</spring-boot.version>
</properties><dependencyManagement><dependencies><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-bom</artifactId><version>0.35.0</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

接下来我们需要注入对话服务的模型,这列我们以阿里百炼的模型作为基础模型.

2.1 环境准备

在引入百炼的大模型前,我们需要配置一些环境.访问百炼大模型的官网.

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

我们需要获取一个API-KEY

然后这里可能需要你去充值,不用充值多了,几块就够啦.然后我们去到模型广场

点击查看详情.获取到model-name和baseUrl

获取到,去SpringBoot的application.yml配置文件配置

langchain4j:open-ai:chat-model:api-key: 你的api-keymodel-name: qwen-maxbase-url: 对应的url

LangChain4j本身提供了一个语言模型(ChatLanguageModel),我们注入使用即可,创建一个Controller类测试

@RestController
public class ChatController {ChatLanguageModel chatLanguageModel;public ChatController(ChatLanguageModel chatLanguageModel) {this.chatLanguageModel = chatLanguageModel;}@GetMapping("/chat")public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) {return chatLanguageModel.generate(message);}
}

调用Postman或者其他测试工具测试

完成基本的模型对接使用.

三.常规使用

3.1 配置类配置

刚刚我们是基于yml配置文件配置的,实际上我们还可以通过配置类来完成配置.

@Configuration
public class LLMConfig {/*** 构建 LLM 模型* @return*/@Beanpublic ChatLanguageModel chatLanguageModel(){return OpenAiChatModel.builder().apiKey("").modelName("qwen-max").baseUrl("").build();}
}

3.2 AI-Service

之前这种自动注入LangChain4j给我们提供的类来完成模型调用,不太灵活,我们若想不同的服务使用不同的大模型,这种方式就不太可取,实际上他还提供了AI-Service的工具类来帮助我们可以灵活更换大模型.

编写一个接口

public interface IChatAssistant {String chat(String message);
}

我们修改一下我们的配置类

@Configuration
public class LLMConfig {/*** 构建 LLM 模型* @return*/@Beanpublic ChatLanguageModel chatLanguageModel(){return OpenAiChatModel.builder().apiKey("").modelName("qwen-max").baseUrl("").build();}/*** 构建 LLM 服务,AI助手,基于配置的大模型来使用* @return*/@Beanpublic IChatAssistant chatAssistant(){return AiServices.builder(IChatAssistant.class).chatLanguageModel(chatLanguageModel()).build();}
}

测试,依旧能够访问

3.3 日志打印

去执行上述测试的小伙伴应该发现了,控制台没有任何的日志输出,我们不知道用户具体输入了什么,对于排查问题来讲肯定是不友好的.Langchain4j为我们提供了日志的开关,让我们可以查看到日志的打印.

修改yml配置文件

logging:level:dev:langchain4j: DEBUGai4j:openai4j: DEBUG

修改配置类

/*** 构建 LLM 模型* @return*/
@Bean
public ChatLanguageModel chatLanguageModel(){return OpenAiChatModel.builder().apiKey("").modelName("qwen-max")// 是否打印请求日志.logRequests(true)// 是否打印响应日志.logResponses(true).baseUrl("").build();
}

当然还有一步,Langchain4j是基于SLF4j的日志框架,所以我们需要引入logback日志框架

<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.5.8</version>
</dependency>

测试,控制台打印

3.4 流式响应

测试过后的同学应该发现了,我们需要等待很久,最后才把输出的结果给到我们.这样对用户的体验肯定是不友好的.我们平常使用的一些ai大模型,是可以感受到他是慢慢的打印出来回复你的答案,而不是一口气讲所有的文本返回回来.

Langchain4j也为我们提供了这样的流式响应的功能.我们需要引入新的依赖

<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-reactor</artifactId><version>0.35.0</version>
</dependency>

然后需要引入新的配置,Langchain4j提供了流式大模型.我们什么都不用改,只需要修改注入的类就行,其他的配置与原来的相同.以及再配置一个AI-Service.

@Bean
public StreamingChatLanguageModel streamingChatLanguageModel(){return OpenAiStreamingChatModel.builder().apiKey("").modelName("qwen-max")// 是否打印请求日志.logRequests(true)// 是否打印响应日志.logResponses(true).baseUrl("").build();
}
@Bean
public IChatStreamAssistant chatStreamAssistant(){return  AiServices.builder(IChatStreamAssistant.class).streamingChatLanguageModel(streamingChatLanguageModel()).build();
}

对接的AI-Service需要修改其的返回类型.

package org.kuchen.service;import reactor.core.publisher.Flux;/*** @author kuchen*/
public interface IChatStreamAssistant {Flux<String> chat(String message);
}

controller层编写

我们可以去浏览器直观的感受,流式响应的效果

流式响应


文章转载自:

http://joshzuxt.bmsqq.cn
http://DSZaAYk9.bmsqq.cn
http://YU4muhMc.bmsqq.cn
http://iKZcjphL.bmsqq.cn
http://5wxwcSCg.bmsqq.cn
http://OfjcpJat.bmsqq.cn
http://p9BROPBP.bmsqq.cn
http://wgVPFniv.bmsqq.cn
http://OTiLmnv8.bmsqq.cn
http://tHPeScnC.bmsqq.cn
http://X4YSuzxJ.bmsqq.cn
http://6g9mvBJv.bmsqq.cn
http://yMY1Yys3.bmsqq.cn
http://PVNtS2WV.bmsqq.cn
http://ni7FXIKI.bmsqq.cn
http://xEIXX936.bmsqq.cn
http://pkRJ3nQH.bmsqq.cn
http://jxaARDvo.bmsqq.cn
http://RX9r635J.bmsqq.cn
http://9iNYExnm.bmsqq.cn
http://In5MqVkp.bmsqq.cn
http://oEVdLiNe.bmsqq.cn
http://6aJauKdn.bmsqq.cn
http://BfNTklkk.bmsqq.cn
http://fVTZTLOe.bmsqq.cn
http://lhR4zbRV.bmsqq.cn
http://SsSOEWB0.bmsqq.cn
http://hGs5AV8D.bmsqq.cn
http://hzVSHpQO.bmsqq.cn
http://AAvlbOq6.bmsqq.cn
http://www.dtcms.com/wzjs/717542.html

相关文章:

  • 网站手机版怎么弄网站 linux 服务器
  • 免费查找企业信息的网站wordpress屏蔽国外ip访问
  • 环保网站查询碾米是否做备案营销qq官网
  • 手机移动端网站建设宣传镇海区住房建设网站怎么查
  • 南通企业自助建站系统店铺详情页设计模板
  • 服务器在国外未备案网站百度一下1688
  • 智慧团建官网登录口手机版上海百度seo
  • 关于建设二级网站的报告小红书网页版
  • 佛山网站优化质量好深圳人才招聘网官网
  • 什么是网站静态化无锡网站排名公司
  • 网站开发的工作经验外贸做消防的网站
  • 网站建设 网站专题 网络推广互联科技行业网站
  • 公司网站主要几方面建设银行郑州中心支行网站
  • 网站建设怎么做基于阿里云的电商网站建设
  • 校园文化建设相关网站动态图形设计
  • 网站悬浮窗广告网页设计阶段
  • 兰州网站分类导航详情页设计流程
  • 网站的封面怎么做wordpress仿导航大全
  • 威海高端网站建设html编辑器哪个好用
  • 网站建设推广小程序注册深圳公司需要什么资料
  • 网站开发免责合同平面设计培训多少钱 贵吗
  • 网站建设的实验原理域名交易
  • 网站前置审批怎么做江苏建设管理信息网站
  • 雄安专业网站建设方案wordpress 左右风格主题
  • 自己做壁纸的网站济南网站制作培训班
  • 龙之向导免费网站中英文切换的网站怎么做的
  • 米拓cms 网站模板在哪贵州网站推广公司
  • c to c网站开发惠州建站模板
  • 章丘做网站公司自助手机网站
  • 网站建设培训相关资料大学学部网站建设工作