Spring AI学习:聊天记忆
<h2>配置依赖</h2><div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">dependency</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">groupId</span><span style="color: rgba(0, 0, 255, 1)">></span>org.springframework.ai<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">groupId</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">artifactId</span><span style="color: rgba(0, 0, 255, 1)">></span>spring-ai-starter-model-chat-memory-repository-jdbc<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">artifactId</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">dependency</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">spring:
ai:
chat:
memory:
repository:
jdbc:
initialize</span>-schema: always </pre>
</div>
<p>pom.yml文件中的配置是为了让spring框架自动生成持久化存储的数据库表。</p>
<h2>声明</h2>
<p><img src="https://img2024.cnblogs.com/blog/3291169/202602/3291169-20260224163835166-282443782.png"></p>
<p> 我使用的chatMemory是上下文滑动窗口式记忆(设置为最多将20条对话同时交给大模型),利用jdbc调用mysql对数据进行存储。</p>
<p>mysql数据库配置与正常使用时的配置相同</p>
<h2> 数据库表</h2>
<p><img src="https://img2024.cnblogs.com/blog/3291169/202602/3291169-20260224213821532-1520654514.png"></p>
<p> 在使用聊天记忆功能时,需要向环绕增强(Advisor)提供conversationId,spring框架自动查表将历史对话提交给大模型。<br>使用示例:</p>
<p><img src="https://img2024.cnblogs.com/blog/3291169/202602/3291169-20260224214228820-459955427.png"></p>
<p> 当然,该表也可以自行查询数据,主要用途就是把数据交给前端渲染,提升用户体验。</p>
<p>效果示例:</p>
<p><img src="https://img2024.cnblogs.com/blog/3291169/202602/3291169-20260224214910632-240248238.png"></p>
<p> (实际开发时要做好数据封装,一定不能像我这样偷懒)</p>
<p><img src="https://img2024.cnblogs.com/blog/3291169/202602/3291169-20260224215120736-1541200124.png"></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/syf0824/p/19634182
頁:
[1]