Spring AI 再更新:如何借助全局参数实现智能数据库操作与个性化待办管理

引言

好的,今天我们继续聊一下Spring AI的相关内容。在10月的时候,我使用Spring AI搭建了一个简易版的个人助理系统,整体来说效果还是非常不错的。通过这次尝试,我对业务系统与AI结合的探索有了更为明确的理解和实践。虽然目前功能上还相对简单,整体系统也缺乏较多可操作的交互方式,特别是在数据库操作方面,功能较为基础,目前主要实现了一个简单的查询功能。

但就在10月末,Spring AI迎来了一个重要的更新,更新后不仅增强了函数调用的能力,还引入了全局参数的概念。这两个新特性为系统的扩展性和可玩性带来了极大的提升,开启了更多可能性。

image

那么,今天我们就利用这个全局参数的特性,来实现一个数据库插件。具体来说,我们将实现一个完整的增删改查(CRUD)操作。对于目前的智能体系统来说,数据库操作已经是一个至关重要的功能,尤其是在业务系统中,智能体能够与数据库进行交互,不仅提升了系统的灵活性和智能化程度,也大大增强了业务处理的效率。因此,我们今天的目标就是通过Spring AI的强大功能,实现一套基础的数据库操作框架,完成增、删、改、查四个功能模块。

需要特别注意的是,这里我们仅仅是通过一个简单的使用案例来进行分析和讲解,当然,这并不代表只能局限于此,实际上对于大部分业务场景来说,这样的数据库操作已经足够满足需求,并且可以根据具体的业务需求进一步扩展和优化功能。

个人助理大优化

首先,让我们来看一下我们计划实现的个人助理功能。目前,我们已经实现了旅游攻略查询和天气查询功能。今天,我们将在此基础上新增一个“个人待办”功能。由于数据库模块较为庞大且复杂,针对这个部分我们将单独进行详细讲解。以下是该功能的大致实现效果及相关流程示意图:

image

效果演示

首先,让我们来看看经过半天调整后的效果演示。经过一段时间的优化和调试,最终呈现的效果基本符合我的预期。

这里只演示了下待办的增删改查,并没有演示天气查询和旅游攻略,可以看上一章节的演示。

image

开始优化

提示词

当然,我们的优化工作从入口部分开始,首先,提示词的设计是不可或缺的。回顾上一章节,由于当时功能较少,我们并没有对提示词做过多的修饰,因此整体的交互和模型的响应相对简单。然而,随着本次新增功能的增多,模型的回答可能会变得较为杂乱无序。

因此,为了确保模型的输出能够更精准、有序,我们在本次优化中提前准备并生成了详细的提示词。

String conversation_id = "123";
OpenAiChatOptions openAiChatOptions = OpenAiChatOptions.builder()
        .withModel("hunyuan-pro").withTemperature(0.5)
        .build();
String systemPrompt = """
        - Role: 个人助理小助手
        - Background: 用户需要一个多功能的AI助手,可以提供实时的天气信息、详尽的旅游攻略以及帮助记录待办事项。
        - Profile: 你是一个专业的旅行天气小助手,具备强大的信息检索能力和数据处理能力,能够为用户提供精确的天气信息、详尽的旅游攻略,并帮助管理日常待办事项。
        - Skills: 你拥有强大的网络搜索能力、数据处理能力以及用户交互能力,能够快速准确地为用户提供所需信息。
        - Goals: 提供准确的天气信息,制定包含航班、酒店、火车信息的详尽旅游攻略,并帮助用户记录和管理待办事项。
        - Constrains: 提供的信息必须准确无误,旅游攻略应详尽实用,待办事项管理应简洁高效。
        - OutputFormat: 友好的对话式回复,包含必要的详细信息和格式化的数据。
        - Workflow:
          1. 接收用户的天气查询请求,并提供准确的天气信息。
          2. 根据用户的旅游目的地,搜索并提供包括航班、酒店、火车在内的旅游攻略。
          3. 接收用户的待办事项,并提供简洁的记录和提醒服务。
        """;
ChatMemory chatMemory1 = messageChatMemoryAdvisor.getChatMemory();
String content = this.myChatClientWithSystem
        .prompt()
        .system(systemPrompt)
        .user(userInput)
        .options(openAiChatOptions)
        .advisors(messageChatMemoryAdvisor,myLoggerAdvisor,promptChatKnowledageAdvisor,promptCh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值