pandaer

pandaer

探究技术的本质,享受技术的乐趣
知识星球
获赞

820

浏览

11.2 万

男
成都市
后端开发

该用户为会员

会员专享项目教程/ 答疑等服务

#AI应用开发 springAI是如何实现mcp的工具调用的,在springai中,工具调用被抽象成了一个toolcallback,无论是我们自己写的工具调用,还是mcp提供的,最终都会变成这个类的实例,然后再大模型返回的结果里,如果有工具调用,就会调用toolcallback的call方法,来执行真正的工具调用

#AI应用开发 今天学习了如何利用springAI来开发mcp server以及mcp client。开发mcp client很简单,只需要引入依赖,配置一下就好。开发一个mcp server也是一样 先要引入一个依赖,然后手动注入toolcallbackprovider这个bean就行了。需要利用tool注解来自定义需要对外提供的工具

#AI应用开发 今天学习了toolcall,本质还是给大模型提供上下文信息,让其生成调用。在传递给大模型的消息中有一个额外的字段叫做tools,里面定义了工具的声明。在模型的响应中有一个字段叫做tool_calls里面定义了要调用哪些工具。 工具的定义要清晰明了,参数结构尽可能的简单,不要试图在一次请求中拼装复杂的工具链。满足需求的情况下,越简单,越清晰越好

#AI应用开发 springAI实现短期记忆(会话内记忆)的实现是基于chatmemory来实现的,chatmemory这个接口专注于我要把那些消息交给大模型,而chatmemoryrepostory 这个接口专注的是会话中产生的消息怎么存? 存哪里? 是数据库还是内存?

#AI应用开发 springAI中 目前学习了两套api,一个是chatmodel,一个是chatclient。 chatmodel是封装了大模型提供商的chat请求,让我们可以很方便的调用模型,而不需要手写http请求。他提供了两个方法 一个是call,一个是stream 对应chat请求的两套模式,一个是非流式输出,一个是流式输出。所以这个更像是对大模型的抽象。 chatclient是基于chatmodel的封装,提供了更多的api,方便我们快速搭建相关的功能。 springAI 提供了prompt来抽象给chat的请求内容,不仅仅包含消息列表,还有一些模型配置,但是我感觉prompt这个名字不好,我宁愿叫chatrequest,也不叫prompt,因为一段小文本就是prompt

prompt评测 因为prompt是自然语言,那么针对prompt的评测就和学生时代,老师看作文一样,存在很强的主观性。 基本上就是从几个维度考虑,比如准确性,逻辑性,安全性等。 在当下这个时代,我们完全可以把大模型当人看,所以我们同样可以把prompt的测评工作交给大模型

什么是prompt? 大模型的底层原理是预测,但是预测需要有一段原始数据,基于这个原始数据来进行预测。这段原始数据就是我们说的prompt,又因为大模型是大语言模型,借助自然语言进行预测,所以我们的prompt也就是自然语言

关于AI编程的几个点 1. 干净的上下文 2. 跨会话的记忆 3. 你需要知道AI明白了你的意图 4. AI编程就是声明式编程 5. 在AI时代我们只需要干两件事情 结构化表达意图(清楚即可)证明AI真的实现了意图

我目前的工作流是这样的 先使用grill-me和AI确认需求的边界,基于我们确认好的边界让AI生成一份分阶段实现的文档,然后让AI基于这份实现文档开subagent 分阶段实现,分阶段review。 我这样子感觉很快架构就腐朽了 开始逐渐bug多起来了[捂脸][捂脸][捂脸] 想请教各位大佬的工作流是怎么样的[捂脸]

你是否也只把 MySQL 当作一个“只会存取数据”的黑盒?前端发请求,你查数据库,看似简单,但当查询变慢、死锁频发时,你是否因为不懂内部原理而无从下手? 本文不讲晦涩的源码,而是像拆解玩具一样,带你钻进 MySQL 内部:从连接器到存储引擎,看清一条 SQL 到底经历了什么;从 Redo Log 到两阶段提交,搞懂数据是如何被安全写入的。别再只做“CRUD”工程师了,今天带你真正看透 MySQL 的本质! 原文如下:https://mp.weixin.qq.com/s/f6loMKH25VWPfkJYl2yAxg

下载 APP