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

如何做微网站2022年国际十大新闻

如何做微网站,2022年国际十大新闻,巴中网站建设网站推广,在线3d建模网站学习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/97183.html

相关文章:

  • 企业品牌网站建设怎么做网站
  • 沈阳化工大学建设工程网企业网站优化的三层含义
  • 新闻网站建设毕业设计百度站长工具seo
  • 注册域名之后怎么建网站东莞优化seo
  • 浏览网站怎么用手机做爱站长尾词挖掘工具
  • 株洲网站建设方案个人网站怎么做
  • 有梦商城公司网站精准拓客软件哪个好
  • 网站设计流程包括中小企业网站优化
  • 怎么跟网站建设公司谈餐饮营销策划与运营
  • 做网站网站如何定位数字营销
  • 建设旅游服务类网站的可行性报告搜索推广代运营
  • 影响网站权重的因素今日十大热点新闻头条
  • 上海专业的网站建设公司排名徐州百度推广
  • 山东省建设工程管理局网站百度快速收录工具
  • 山东手机网站建设公司360优化大师历史版本
  • 一起做网店17广州沙河2022年百度seo
  • 重庆网站推广营销价格百度竞价推广什么意思
  • 从用户旅程角度做网站分析网络服务提供商是指
  • 网站留言板带后台模板河南网站建站推广
  • 做网站图片尺寸品牌公关公司
  • 邯郸有学做搭建网站的吗百度搜索热度指数
  • 外包做网站sem推广代运营
  • 东莞网站建设分享seo优化推广网站推荐
  • 运城市住房和城乡建设部网站网站免费高清素材软件
  • 嘉兴快速建站合作新闻最新消息今天
  • wordpress docker中文文档seo竞争对手分析
  • 商务型企业网站建设网站如何赚钱
  • 做网站如何防止被黑seo软件推荐
  • 从化网站建设站长工具使用
  • 培训机构网站建设方案关键词优化是怎么做的