- 博客(37)
- 收藏
- 关注
原创 AI应用开发篇--作为一个个人开发者我怎末来运用ai实现自己的能力成长,能挣的一桶金
AI 让你一个人就能做一家公司能做的事情。把你的时间、兴趣、技能放大,解决真实需求,就能赚到“第一桶金”。目前在海外这种一个一个公司的模式已经很普遍,我个人也觉得这种模式很好!需求对接服务,没有弯弯绕绕,变得更加纯粹!大家有好的产品想法可以私信哦,放飞的Ideal也可以哦,我们一起搞点事情!
2025-07-01 10:31:54
1345
原创 MCP 开发最佳实践
本课程整合了从实际 MCP 实施中获得的实践经验,旨在指导您使用有效的资源、提示和工具创建强大高效的服务器。测试是开发可靠、高质量的 MCP 服务器的关键环节。本指南提供了全面的最佳实践和技巧,帮助您在整个开发生命周期内测试 MCP 服务器,涵盖单元测试、集成测试以及端到端验证等各个环节。全面的测试策略对于开发可靠、高质量的 MCP 服务器至关重要。通过实施本指南中概述的最佳实践和技巧,您可以确保您的 MCP 实现满足最高的质量、可靠性和性能标准。思考如何测试此实现。精心设计的模式可以提高工具的可用性。
2025-07-01 10:02:38
1146
原创 MCP - 网络搜索
如果您遇到错误,请从此处开始:以下提示可解决大多数用户遇到的问题,并且通常无需额外帮助即可解决您的问题。在本文中,“测试脚本”是指您编写的自定义 Python 程序,用作 MCP 服务器的客户端。此脚本并非正式的单元测试,而是允许您以编程方式连接到服务器,使用您选择的参数调用服务器的任何工具,并检查结果。本章演示如何构建一个真实的 AI 代理,该代理能够集成外部 API、处理各种数据类型、管理错误并协调多种工具,并且所有功能均以生产就绪的形式实现。它使您的服务器能够处理多种任务,而不仅仅是单一任务。
2025-06-30 14:02:26
1513
原创 MCP - 实时流
在从物联网传感器网络到金融交易平台的现代应用中,MCP 与流媒体技术的集成实现了更智能、更具情境感知的处理,可以实时对复杂、不断变化的情况做出适当的反应。在各种流技术中实施 MCP 创建了一种统一的上下文管理方法,减少了对自定义集成代码的需求,同时增强了系统在数据流经管道时维护有意义的上下文的能力。:流系统中的 MCP 实现必须解决一个常见的挑战,即区分事件发生的时间和处理的时间。:MCP 通过提供时间和关系上下文的结构化表示来促进更复杂的窗口操作,从而实现跨事件流的更有意义的聚合。
2025-06-30 13:58:04
716
原创 MCP-实时搜索
与传统的搜索系统不同,传统的搜索系统需要处理可能已存在数小时或数天的索引数据,而实时搜索可以处理来自网络的实时数据,从而提供反映在线内容当前状态的洞察和信息。的模式,正确管理生命周期、处理上下文以及实现工具。在各种搜索技术中实施 MCP 创建了一种统一的上下文管理方法,减少了对自定义集成代码的需求,同时增强了系统在搜索查询演变时维护有意义的上下文的能力。在从新闻聚合到研究助理的现代应用中,MCP 与网络搜索技术的集成实现了更加智能、上下文感知的搜索,随着用户交互的继续,可以提供越来越相关的结果。
2025-06-27 14:16:10
2647
原创 MCP-安全(代码实例)
对于 Java,我们将使用 Spring Security 实现 MCP 服务器的安全身份验证和授权。声明是关于用户的信息,例如其角色或权限,例如“管理员”或“用户”。MCP 使用授权策略,根据用户的角色和声明来确定哪些用户可以访问哪些工具。让我们看一下如何使用 .NET 和 Java 在 MCP 服务器中实现安全身份验证和授权的示例。注册的 MCP 工具具有特定的授权要求,确保只有具有适当角色的用户才能访问它们。定义基于角色的访问控制,以根据用户角色限制对管理工具和敏感数据的访问。
2025-06-27 13:54:50
803
原创 MCP-安全(entra)
Microsoft Entra ID 提供强大的基于云的身份和访问管理解决方案,帮助确保只有授权用户和应用程序才能与您的 MCP 服务器交互。本章将向您介绍如何使用 Microsoft Entra ID 保护您的 MCP 服务器,确保只有授权用户和应用程序才能与您的工具和数据交互。服务器可以验证令牌,以确保请求合法,并且客户端拥有必要的权限,而这一切都无需处理您的实际凭证(例如密码)。通过实施身份验证,您可以确保对服务器的每个请求都经过验证,从而确认发出请求的用户或应用程序的身份。,而不是客户端密钥。
2025-06-27 13:51:14
922
原创 MCP - 缩放
分布式架构涉及多个 MCP 节点协同工作,以处理请求、共享资源并提供冗余。水平扩展涉及部署多个 MCP 服务器实例,并使用负载均衡器来分配传入请求。:通过增加资源(CPU、内存)和微调配置来优化单个 MCP 服务器实例以处理更多请求。我们来看一个示例,了解如何使用 Redis 进行协调来实现分布式 MCP 服务器架构。创建了一个分布式 MCP 服务器,该服务器向 Redis 实例注册以进行协调。:在负载均衡器后面部署多个 MCP 服务器实例,以均匀分配传入的请求。
2025-06-26 08:44:32
467
原创 MCP -采样
对于需要一致输出的应用,确定性采样可确保结果的可重复性。发送具有动态配置的采样参数的请求,并返回生成的文本以及应用的参数和检测到的任务类型。将标记的选择限制为那些对最高累积概率质量有贡献的标记,从而提高生成文本的质量。将标记的选择限制为那些对最高累积概率质量有贡献的标记,从而提高生成文本的质量。将标记的选择限制为那些对最高累积概率质量有贡献的标记,从而提高生成文本的质量。确定适合请求的采样策略,从而根据任务的性质做出更有针对性的响应。方法发送配置好的采样参数的提示,确保模型按照指定的要求生成文本。
2025-06-26 08:38:28
707
原创 MCP-路由
它涉及分析传入的请求,并根据内容类型、用户上下文和系统负载等各种条件来确定最合适的模型或服务来处理它们。模型上下文协议 (MCP) 中的路由功能会根据内容类型、用户上下文和系统负载等各种条件,将请求定向到最合适的模型或服务。基于内容的路由会根据请求内容将请求定向到专门的服务。例如,与代码生成相关的请求可以路由到专门的代码模型,而创意写作请求则可以路由到创意写作模型。采样过程可用于对请求进行分类,而路由则将其定向到适当的模型或服务。实现了一个简单的分类器,用于确定提示的类别并将其路由到适当的专门服务。
2025-06-26 08:29:43
1089
原创 MCP 根上下文
根上下文是模型上下文协议中的一个基本概念,它提供了一个持久层,用于维护跨多个请求和会话的对话历史和共享状态。以下是如何实现根上下文管理的示例。在这个例子中,我们将为财务分析会话创建一个根上下文,演示如何在多个交互中维护状态。在此示例中,我们将为多轮协助会话创建一个根上下文,演示如何在多个交互中保持状态。:使用上下文元数据存储有关对话的重要信息,这些信息以后可能会有用。:当上下文变大时,考虑生成摘要以捕获重要信息,同时管理上下文大小。在本课中,我们将探讨如何在 MCP 中创建、管理和利用根上下文。
2025-06-26 08:20:10
792
原创 MCP OAuth2 演示
成功响应“Hello from MCP OAuth2 Demo!”确认 OAuth2 配置正常工作。APIM 将获取 JWKS 并验证每个请求。最小的 Spring Boot 应用程序。1. 验证服务器是否正在运行且安全。自动为 提供受信任的 TLS 证书。(通过流程颁发 JWT 访问令牌。2. 使用客户端凭据获取访问令牌。3. 使用令牌访问受保护的端点。)是的 Base64 编码。入口 FQDN 将成为您的。测试 OAuth2 配置。注意:基本身份验证标头(Azure API 管理。
2025-06-25 08:32:08
313
原创 MCP多模态模式
多模态应用在人工智能领域日益重要,能够实现更丰富的交互和更复杂的任务。模型上下文协议 (MCP) 提供了一个框架,用于构建能够处理各种类型数据(例如文本、图像和音频)的多模态应用。以下示例展示了如何实现一个能够处理音频文件并返回转录结果的音频转录工具。MCP 不仅支持基于文本的交互,还支持多模式功能,允许模型处理图像、音频和其他数据类型。实现了一种从 URL 下载图像并根据请求的类型(对象、文本、面部等)对其进行分析的方法。定义工具的模式以接受 URL 或 base64 编码的音频数据。
2025-06-25 08:27:29
680
原创 MCP企业模式
在本课中,您将学习如何将模型上下文协议 (MCP) 与企业 AI 系统集成,重点介绍 Azure OpenAI 和 Microsoft AI Foundry。将 MCP 与 Azure 机器学习 (ML) 集成,可让你利用 Azure 强大的 ML 功能,同时保持 MCP 的灵活性。将 MCP 与 Azure OpenAI 集成,您可以利用这些模型,同时保持 MCP 工具编排的灵活性。将 MCP 与 AI Foundry 集成,可让您充分利用其功能,同时保持 MCP 的灵活性。
2025-06-25 08:23:07
479
原创 MCP初学者指南(6)--- MCP高级模式
本章旨在涵盖模型上下文协议 (MCP) 实现的一系列高级模式,包括多模态集成、可扩展性、安全最佳实践和企业集成。这些主题对于构建能够满足现代 AI 系统需求的稳健且可立即投入生产的 MCP 应用程序至关重要。本课程探讨模型上下文协议 (MCP) 实现的高级概念,重点关注多模态集成、可扩展性、安全最佳实践和企业集成。实时网络搜索 MCP 如何通过提供跨 AI 模型、搜索引擎和应用程序的上下文管理标准化方法来转变实时网络搜索。先进的 MCP 实现得益于优化的架构和精心的资源管理。
2025-06-24 11:50:26
591
原创 关于Vite的一些事
回想下,不管是基于浏览器 es module import 实现的编译服务,基于 esbuild 做的依赖预构建,基于 hash query 做的强缓存和缓存更新,还是兼容 rollup 的 vite 插件可以在开发服务和 rollup 里同时跑,这些功能实现都挺巧妙的。浏览器里用 max-age 强缓存这些预打包的模块,但是带了 hash 的query。没错,vite 插件时兼容 rollup 插件的,这样在开发的时候,在生产环境打包的时候,都可以用同样的插件对代码做 transform 等处理。
2025-06-23 16:12:22
622
原创 MCP初学者指南(5)-- 轻松拿捏MCP实践
在以下部分中,你将找到实际示例、示例代码和部署策略,它们演示了如何使用 C#、Java、TypeScript、JavaScript 和 Python 实现 MCP。我们将探索如何使用 C#、Java、TypeScript、JavaScript 和 Python 中的 MCP SDK 构建强大的应用程序、调试和测试 MCP 服务器,以及创建可复用的资源、提示符和工具。理解 MCP 背后的理论和架构固然重要,但真正的价值在于将这些概念应用于构建、测试和部署解决实际问题的解决方案。
2025-06-20 14:57:05
1095
原创 MCP初学者指南(4)
MCP 入门欢迎开始使用模型上下文协议 (MCP)!无论您是 MCP 新手还是希望深入了解,本指南都将引导您完成必要的设置和开发流程。您将了解 MCP 如何实现 AI 模型与应用程序之间的无缝集成,并学习如何快速准备好您的环境,以构建和测试由 MCP 驱动的解决方案。简而言之:如果您开发过 AI 应用,您就会知道可以向 LLM(大型语言模型)添加工具和其他资源,以增强 LLM 的知识储备。但是,如果您将这些工具和资源放在服务器上,那么无论是否拥有 LLM,任何客户端都可以使用该应用和服务器功能。概述。
2025-06-19 10:31:04
1130
1
原创 MCP初学者指南(3)
中发表的研究 指出,98% 的报告违规行为可以通过强大的安全措施来预防,而针对任何类型违规行为的最佳保护措施是确保基准安全措施、安全编码最佳实践和供应链安全正确无误——这些我们已经知道的经过尝试和测试的做法在降低安全风险方面仍然发挥着最大的作用。任何 MCP 实施都会继承其所基于的组织环境的现有安全态势,因此,在将 MCP 的安全性视为整体 AI 系统的一部分时,建议您考虑提升现有的整体安全态势。如果被盗,该令牌可用于冒充 MCP 服务器,并访问 OAuth 令牌所针对的服务中的资源和数据。
2025-06-19 08:18:10
1052
原创 MCP初学者指南(2)
在模型上下文协议 (MCP) 中,主机 (Host) 作为用户与协议交互的主要接口,发挥着至关重要的作用。模型上下文协议 (MCP) 是一个强大的标准化框架,用于优化大型语言模型 (LLM) 与外部工具、应用程序和数据源之间的通信。模型上下文协议 (MCP) 中的服务器提供了基础构建块,可实现客户端、主机和语言模型之间的丰富交互。:在连接建立期间,客户端和服务器会交换有关支持的功能、协议版本、可用工具和资源的信息。用户应清楚了解每个工具的功能,并且必须执行强大的安全边界,以防止意外或不安全的工具执行。
2025-06-18 15:34:15
770
原创 MCP初学者指南(1)
模型上下文协议(MCP)简介 MCP是一种开放标准接口,旨在规范AI模型与外部工具、数据的交互方式,解决AI应用扩展中的碎片化问题。它通过统一架构实现以下优势: 标准化集成:消除定制代码需求,支持跨平台工具复用 增强功能:使模型突破训练数据限制,访问实时信息与专业工具 提升效率:减少开发时间,降低因API变更导致的系统中断风险 核心采用客户端-服务器模式,包含工具注册、身份验证、请求处理等组件,适用于企业数据集成、多模态应用等场景。MCP如同AI领域的"通用接口",推动可扩展、安全且高效
2025-06-18 14:11:34
1196
原创 面试被虐,是时候搞懂DNS了
这个世界上没有一台 DNS 服务器拥有因特网上所有主机的映射,每台 DNS 只负责部分映射。DNS 服务器有 3 种类型:根 DNS 服务器、顶级域(Top-Level Domain, TLD)DNS 服务器和权威 DNS 服务器。它们的层次结构如下图所示:根 DNS 服务器首先我们要明确根域名是什么,比如,有些同学可能会误以为 com 就是根域名,其实 com 是顶级域名,的完整写法是.,最后的这个 . 就是根域名。根 DNS 服务器的作用是什么呢?就是管理它的下一级,也就是顶级域 DNS 服务器。
2023-02-07 11:23:34
195
原创 以太坊详解
这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。换句话说,区块被链接在一起,在不改变所有后续区块的情况下,区块内数据是无法改变,但改变后续区块需要整个网络的共识。“区块”指的是数据和状态是按顺序批量或者“区块”存储的。所有交易的记录以及以太坊虚拟机的当前状态存储在区块链中,而区块链又由所有节点存储并达成一致。
2022-11-07 17:16:08
756
原创 跨域的几种方法
一、什么是跨域?1.什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。PS:XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、 .
2022-04-25 15:39:31
2030
原创 js 数组扁平化的几种实现方式
一、什么是数组扁平化扁平化,顾名思义就是减少复杂性装饰,使其事物本身更简洁、简单,突出主题。数组扁平化,对着上面意思套也知道了,就是将一个复杂的嵌套多层的数组,一层一层的转化为层级较少或者只有一层的数组。Ps: flatten 可以使数组扁平化,效果就会如下:const arr = [1, [2, [3, 4]]];console.log(flatten(arr)); // [1, 2, 3, 4]从中可以看出,使用 flatten 处理后的数组只有一层,下面我们来试着实现一下。二、简单实现
2022-04-24 10:06:41
4422
2
原创 熬夜总结50个js高级知识点(一)
1、undeclared 与 undefined 的区别?undefined:声明了变量,但是没有赋值 undeclared:没有声明变量就直接使用
2021-12-07 19:20:07
305
原创 浏览器需要知道的知识
渲染过程输入网址,浏览器交给浏览器进程开始处理你输入的内容执行beforeUnload事件,卸载当前页面如果不是网址,则开始跳到默认搜索引擎,执行搜索如果是网址,判断是否存在缓存,是的话,读取缓存并渲染,否则向服务器发送请求之后把控制权交给网络进程网络进程会开始执行DNS解析,获取IP地址,并开始建立连接计算机网络请求会发送到对方服务器,然后交给nginx进行处理(如果有负载均衡,会发送到各地对应的服务器进行处理)建立连接HTTP连接客户...
2021-10-12 15:40:27
340
原创 Python 面试时几个重要问题
Python 面试是几个重要问题,基础:①Python生成器send的应用场景。对于调用一个普通的Python函数,一般是从函数的第一行代码开始执行,结束于return语句、异常或者函数所有语句执行完毕。一旦函数将控制权交还给调用者,就意味着全部结束。函数中做的所有工作以及保存在局部变量中的数据都将丢失。再次调用这个函数时,一切都将从头创建。Python是通过生成器来实现类似于协同程序的概念:生成器可以暂时挂起函数,并保留函数的局部变量等数据,然后在再次调用它的时候,从上次暂停的位置继续执行下去。②
2021-10-12 14:54:30
223
转载 Vue面试题
vue优点?答:轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ;简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;双向数据绑定:保留了 angular 的特点,在数据操作方面更为简单;组件化:保留了 react 的优点,实现了 html 的封装和重用,在构建单页面应用方面有着独特的优势;视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作;虚拟DOM:dom 操作是非常
2021-10-12 10:39:20
327
原创 Es6 set
set对象允许你存储任何类型的唯一值,Set是ES6新的数据结构,类似数组Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。2、如何使用Set?(1)生成一个Set,添加重复值会被过滤掉let s = new Set()s.add(1)s.add(2)s.add(2)s.add(3)for(let item of s){ console.log(item) //1,2,3}(2)接收一个数组用来初始化
2021-10-11 16:13:34
116
原创 antd-mobile轮播图应用时遇到的问题
1.不会自动播放2.从其他路由返回时会出现高度塌陷原因是当轮播图的数据是动态加载时,加载完成前后轮播图的数量不一致。如何解决:1.在state中添加表示轮播图加载完成的数据2.在轮播图数据加载完成是,修改该数据状态值为true3在只有轮播图数据加载完成的情况下才渲染轮播图组件...
2021-09-12 15:36:24
614
原创 react-dom.development.js:6202 Unable to preventDefault inside passive event listener invocation 错误
出现这种错误可能是浏览器默认事件与rereact-dom.development.js中的默认事件产生冲突,在浏览器中找到act-dom.development.js文件的地址,打开将你添加组件的默认事件的代码注销即可。
2021-09-10 14:48:12
1066
原创 React +Antd表格分页汉化
React +Antd表格分页汉化思路使用Antd组件ConfigProviderConfigProvider全局化配置,为组件提供统一的全局化配置。ConfigProvider 使用 React 的 context 特性,只需在应用外围包裹一次即可全局生效。汉化步骤1.导入组件ConfigProvider,导入antd中文库import { ConfigProvider } from 'antd';import zh_CN from 'antd/lib/locale-provider/zh
2021-09-09 09:29:13
530
原创 Js 数组方法
在日常开发中经常要处理数组类型的数据,常见的几种数组处理方法1,增加和删除数组元素①push()方法是想数组中添加新元素,他只能在原数组末尾处添加,push()方法返回的是添加后新数组的长度。②unshift()方法(在开头)向数组添加新元素,unshift()方法返回新数组的长度。③pop()方法从数组中删除最后一个元素:...
2021-09-07 09:32:41
163
原创 React props
在react中,prop是从组件外部传递给组件的数据,一个React组件通过定义自己能够接受的prop就定义了自己对外公共接口,每个组件都是独立存在的模块,组件之外的一切都是外部世界,外部世界就要通过prop来和其他的组件进行对话(数据的传递)。prop是如何传递数据的呢?很简单给组件标签添加属性的方式。eg:<Hello name="ladeng" age={15}/>组件如何接受外部传来的数据:①函数组件通过参数props接受数据//传递数据<Hello nam
2021-09-05 09:43:46
302
原创 JS 字符串方法
常见的几种字符串处理方法:1.'字符串'.length 返回字符串的长度,length是字符串的属性;eg:var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";var sln = txt.length;2.indexOf() 返回字符串中指定文本第一次出现的索引,indexOf()是一种方法。(就算有多个相同的文本也只返回第一次出现的位置取得是查找文本的开始位置,字符串中没有指定文本的话返回-1),括号内可以填写两位参数,参数一是指定字符串,参数二位开始查找
2021-09-02 10:31:29
164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅