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

网站怎么做留言的企业公司网站源码

网站怎么做留言的,企业公司网站源码,湛江市建设教育协会学校网站,网站管理怎么做langchain4j实现聊天记忆默认是基于进程内存的方式,InMemoryChatMemoryStore是具体的实现了,是将聊天记录到一个map中,如果用户大的话,会造成内存溢出以及数据安全问题。位了解决这个问题 langchain4提供了ChatMemoryStore接口&am…

        langchain4j实现聊天记忆默认是基于进程内存的方式,InMemoryChatMemoryStore是具体的实现了,是将聊天记录到一个map中,如果用户大的话,会造成内存溢出以及数据安全问题。位了解决这个问题 langchain4提供了ChatMemoryStore接口,让开发者可以灵活的选择存储策略,常用的可以使用mysql、redis、mongodb等,本文以redis为例,集成百炼平台通义千问实现大模型聊天记忆持久化。

 一、引入依赖

       具体详情可参考官网

https://docs.langchain4j.dev/integrations/language-models/dashscope
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '3.4.0'// langchain4j AiService整合spring bootimplementation group: 'dev.langchain4j', name: 'langchain4j-spring-boot-starter', version: '1.0.0-beta4'// langchain4j整合千问dashscopeimplementation group: 'dev.langchain4j', name: 'langchain4j-community-dashscope-spring-boot-starter', version: '1.0.0-beta4'

          yaml配置

langchain4j:## https://docs.langchain4j.dev/integrations/language-models/dashscopecommunity:dashscope:chat-model:api-key: 百炼平台申请model-name: qwen-plusspring:data:redis:host: server200port: 6379database: 3

二、持久化配置

        官网参考地址https://docs.langchain4j.dev/tutorials/chat-memory/

@Configuration
public class ChatMemoryConf {/*** 聊天记录持久化存储到redis中* @param redisTemplate* @return*/public ChatMemoryStore chatMemoryStore(RedisTemplate<String,String>  redisTemplate){return  new ChatMemoryStore(){@Overridepublic List<ChatMessage> getMessages(Object memoryId) {String value = redisTemplate.opsForValue().get("chat:" + memoryId.toString());if(value == null || value.isEmpty()){return List.of();}return ChatMessageDeserializer.messagesFromJson(value);}@Overridepublic void updateMessages(Object memoryId, List<ChatMessage> list) {String messages = ChatMessageSerializer.messagesToJson(list);redisTemplate.opsForValue().set("chat:" + memoryId.toString(), messages);}@Overridepublic void deleteMessages(Object memoryId) {redisTemplate.delete("chat:" + memoryId.toString());}};}@Beanpublic ChatMemoryProvider chatMemoryProvider(RedisTemplate<String,String>  redisTemplate){return memoryId -> MessageWindowChatMemory.builder().maxMessages(10).id(memoryId).chatMemoryStore(chatMemoryStore(redisTemplate)).build();}}

三、创建AiService代理

       AiService的具体功能,可以看官网(https://docs.langchain4j.dev/tutorials/ai-services),上面有很详细的解释和示例

@AiService
public interface DashScopeAssistant {@SystemMessage("Answer using slang")String chat(@MemoryId String  chatId, @UserMessage  String userMessage);}

@Service
public class DashScopeChatMemoryService {private final static Logger LOGGER = LoggerFactory.getLogger(DashScopeChatMemoryService.class);private final DashScopeAssistant dashScopeAssistant;@Autowiredpublic DashScopeChatMemoryService(QwenChatModel qwenChatModel,ChatMemoryProvider chatMemoryProvider) {dashScopeAssistant =  AiServices.builder(DashScopeAssistant.class).chatMemoryProvider(chatMemoryProvider).chatModel(qwenChatModel).build();}public String persistentChat(String chatId, String userMessage){String chat = dashScopeAssistant.chat(chatId, userMessage);LOGGER.info("persistent chat output : {}" ,chat);return chat;}
}

 四、测试持久化

chatMemoryService.persistentChat("101", "我是赵光义");
chatMemoryService.persistentChat("101", "我是北宋的第二位皇帝,在高粱河被辽国打败了");
chatMemoryService.persistentChat("101", "你知道为为什么叫车神吗?");

    通过断点观察,数据已经成功存入redis


 


文章转载自:

http://f6UVFByc.fwnqq.cn
http://3N6Fmr7t.fwnqq.cn
http://DvClw0yZ.fwnqq.cn
http://YotmV3Jy.fwnqq.cn
http://Ru0qBhkC.fwnqq.cn
http://LpWN5klJ.fwnqq.cn
http://AqWLyLj1.fwnqq.cn
http://x81FpWQr.fwnqq.cn
http://2eBH7lC9.fwnqq.cn
http://O5YC3iln.fwnqq.cn
http://pi5nG2sL.fwnqq.cn
http://oki9B9vT.fwnqq.cn
http://jgiy1YYV.fwnqq.cn
http://TqcgO6mq.fwnqq.cn
http://9rkpdfeP.fwnqq.cn
http://7U93cVEn.fwnqq.cn
http://lGC00v4y.fwnqq.cn
http://0St0ashn.fwnqq.cn
http://B8Mwr5lM.fwnqq.cn
http://F8ZW6UX2.fwnqq.cn
http://lz9MlAW4.fwnqq.cn
http://enefyPiq.fwnqq.cn
http://0uoMDQfF.fwnqq.cn
http://xmXXzyIW.fwnqq.cn
http://WUZQmZgO.fwnqq.cn
http://c6eGVyQB.fwnqq.cn
http://TrDjtloX.fwnqq.cn
http://fJyyjEmh.fwnqq.cn
http://EV92GNs1.fwnqq.cn
http://gzOfaf8P.fwnqq.cn
http://www.dtcms.com/wzjs/677839.html

相关文章:

  • 在线做ppt模板下载网站深圳手机网站公司
  • 深圳建站公司一般需要多久360门户网站怎样做
  • 深圳设计网站有哪些太原市0元网站建设
  • 商城网站制作明细网站开发预算多少
  • 一流的网站建设哪家好9277在线观看免费高清完整版
  • 合肥网站的优化云一网站建设
  • 湖南省城乡与建设厅网站建网站的服务器
  • 微信公众号小程序怎么发布优化大师下载电脑版
  • 站酷网海报素材图片男学网站开发
  • wordpress侧边栏登录注册西安优化网站推广
  • 宜宾建功路桥建设有限公司网站纪检网站建设
  • 修改 WordPress 模板福州百度seo
  • 开发网站服务discuz做门户网站
  • 下载网站后怎么做的常德小学报名网站
  • 烟台网站建设九七深圳定制网站建设服务公司
  • 网站代码502做网站要多少钱
  • 商城和营销型网站建设阿里巴巴个人网站怎么做
  • 手机网站免费建设平台长沙网页设计培训班
  • 国外企业建站番禺高端网站建设
  • 自己怎么手机做网站软件工程软件开发流程
  • 企业网站推广的线上渠道专业的做网站
  • 旅游网站网页设计图片装修工人自己接单的app
  • 保定网站推广公司wordpress 推送公众号
  • 淘宝联盟的购物网站怎么做wordpress 购物 app
  • 教育培训类网站建设wordpress菜单文件
  • 天猫网站建设的意义建设厅培训中心网站
  • 江北网站建设的技术太原建站公司有哪些
  • 成都 php 网站大学网站建设考核办法
  • python node 网站开发网络销售是干嘛的
  • 做外贸网站那家专业wordpress主题 有分页