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

网站建设seo百度搜索推广

网站建设seo,百度搜索推广,在线logo设计生成器,肯德基网站是哪家公司做的学习spring-ai时提到过,spring-ai除了内置的InMemoryChatMemoryRepository,还提供jdbc、cassandra、neo4j三个扩展包。 而spring-ai-alibaba则提供了jdbc、redis、elasticsearch三个扩展包。 两者都提供了jdbc扩展包,有什么区别呢&#xff…

学习spring-ai时提到过,spring-ai除了内置的InMemoryChatMemoryRepository,还提供jdbc、cassandra、neo4j三个扩展包。

而spring-ai-alibaba则提供了jdbc、redis、elasticsearch三个扩展包。

两者都提供了jdbc扩展包,有什么区别呢?

spring-ai jdbc和spring-ai-alibaba jdbc对比

spring-ai的jdbc扩展spring-ai-alibaba的jdbc扩展
支持的数据库

hsql

mysql

postgres

sqlserver

mysql

oracle

postgres

sqlite

sqlserver

JdbcChatMemoryRepository非抽象类抽象类
实现兼容的方式组合模式,内部包含一个dialect,根据数据库类型不同提供不同sql继承模式,不同数据库不同子类
功能查找所有对话id
保存所有
根据对话id查找
根据对话id删除

查找所有对话id
保存所有
根据对话id查找
根据对话id删除

初始化时会查看表是否存在,不存在则创建

spring-ai和spring-ai-alibaba都提供了ChatMemoryRepository接口的jdbc实现JdbcChatMemoryRepository,并提供了自动装配的bean。区别主要在于支持的数据库和对表的初始化上面。

简单样例

以mysql为例,使用分为三步

第一步:添加依赖

		<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-memory</artifactId></dependency>

第二步:添加配置

spring:ai:chat:memory:repository:jdbc:mysql:jdbc-url: your_urlusername: your_usernamepassword: your_passworddriver-class-name: com.mysql.cj.jdbc.Driverenabled: true

第三步:代码调用

    private final ChatClient chatClient;private final MessageWindowChatMemory messageWindowChatMemory;public MysqlMemoryController(ChatClient.Builder builder, MysqlChatMemoryRepository mysqlChatMemoryRepository) {this.messageWindowChatMemory = MessageWindowChatMemory.builder().chatMemoryRepository(mysqlChatMemoryRepository).maxMessages(100).build();this.chatClient = builder.defaultAdvisors(MessageChatMemoryAdvisor.builder(messageWindowChatMemory).build()).build();}@GetMapping("/call")public String call(@RequestParam(value = "query") String query,@RequestParam(value = "conversation_id") String conversationId) {return chatClient.prompt(query).advisors(a -> a.param(CONVERSATION_ID, conversationId)).call().content();}

内部原理及相关接口和实现类

spring-ai-alibaba-starter-memory:默认会引入jdbc、redis、elasticsearch和自动装配的jar包,且自动装配的jar包包含上述三个jar包的自动装配,不能按需取用,希望后面官方能够进行拆分管理。

自动装配包(spring-ai-alibaba-autoconfigure-memory):包含redis、elasticsearch和5种jdbc数据库的自动装配的类,是否开启主要使用spring.ai.memory.数据库.enabled进行配置,默认为false不开启。

jdbc扩展包(spring-ai-alibaba-starter-memory-jdbc):主要是抽象类JdbcChatMemoryRepository和5个数据库的子类。逻辑主要在JdbcChatMemoryRepository中,该类实现了ChatMemoryRepository接口,在构造函数中会查询是否存在聊天记忆表,若不存在则会创建。子类主要是各个数据库的语句(是否存在表、创建表、保存聊天记忆、查询聊天记忆、删除聊天记忆等)。

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

相关文章:

  • 做游戏代练的网站网站优化是什么
  • axure做网站原型百度关键词批量看排名工具
  • 驻马店做网站公司如何自己免费制作网站
  • 武汉网站设计厂家什么是互联网营销
  • wordpress新淘客宁波超值关键词优化
  • 做网站能赚钱吗知乎百度推广没有效果怎么办
  • 做网站南京企业建网站一般要多少钱
  • 公司注册代办个体哪些网站可以seo
  • 自学网站开发条件广点通官网
  • 世界各大网站搜索引擎提交入口怎样制作网页设计
  • 给政府做网站的申请seo搜索引擎优化实训总结
  • 大连高端网站建设军事新闻最新消息
  • 品牌建设促进会是什么工作seow是什么意思
  • 南山区网站建设公司seo公司资源
  • 管理系统下载电脑系统优化工具
  • 做网站链接要多少钱爱站网关键词排名
  • wordpress rss去掉天津seo霸屏
  • 有没有一些帮做名片的网站最基本的网站设计
  • 上海做淘宝网站建设重庆百度推广优化排名
  • 做视频发哪个网站赚钱以网红引流促业态提升
  • 选择邯郸做网站找小网站的关键词
  • 桐庐网站制作重庆seo整站优化报价
  • 网广州建网站站制作59软文网
  • 肃宁县做网站免费网络推广平台有哪些
  • java web音乐网站开发北京百度seo点击器
  • 静态网站如何做自适应移动端抖音seo系统
  • css是在网站开发的应用在线网站流量查询
  • 大亚湾做网站公司线下推广团队
  • 网站设计美工要怎么做晋江友情链接是什么意思
  • 低成本做网站app开发费用一般多少钱