基于MCP协议构建AI Agent链上数据查询与操作工具实践

news2026/5/11 1:39:15
1. 项目概述一个连接加密世界与AI的“翻译官”如果你最近在捣鼓AI Agent特别是想让它帮你分析链上数据、查询钱包余额甚至执行一些基础的区块链操作那你可能已经发现了一个痛点让AI直接理解并操作区块链就像让一个只会说中文的人去指挥一台全英文界面的精密仪器中间缺一个既懂技术又懂业务的“翻译官”。今天要聊的这个项目CryptoAPIs-io/cryptoapis-mcp-utils本质上就是这样一个“翻译官”。它基于Model Context ProtocolMCP构建核心使命是将CryptoAPIs提供的丰富区块链数据和服务封装成AI模型比如Claude、GPTs能够轻松理解和调用的标准化工具。简单来说它让AI具备了“链上视野”和“链上操作手”。以前你需要自己写脚本调用API处理复杂的JSON响应再把结果“喂”给AI。现在通过MCP这个桥梁AI可以直接“思考”“帮我查一下以太坊主网上这个地址的ETH余额”然后通过cryptoapis-mcp-utils这个工具集自动完成API调用、数据解析并把清晰的结果返回给AI再由AI用自然语言告诉你。整个过程对开发者而言是透明的你只需要配置好AI就多了一整套区块链能力。这个项目适合谁呢首先是AI应用开发者尤其是构建金融科技、投资分析、链上监控类AI Agent的团队。其次是区块链开发者想快速为自己的项目增加一个AI交互层。最后哪怕是 curious 的个人极客想给自己用的Claude Desktop增加点“超能力”用它来快速查询代币价格、监控Gas费也是一个非常酷的玩具。它的价值在于极大地降低了“AI区块链”的集成门槛把复杂的链上交互变成了AI模型可理解的简单函数调用。2. 核心架构与MCP协议深度解析2.1 MCPAI的“外挂工具箱”协议要理解cryptoapis-mcp-utils必须先搞懂它赖以生存的土壤——Model Context Protocol。你可以把MCP想象成给AI模型如Claude安装“驱动”或“插件”的标准化框架。在没有MCP之前每个AI应用如果想接入外部数据如数据库、API都需要各自为战写一大堆胶水代码而且这些能力无法在不同AI模型或客户端之间复用。MCP定义了一套标准的通信协议包括工具AI可以调用的具体函数比如get_eth_balance。资源AI可以读取的静态或动态数据源比如一个包含最新Gas价格的URL。提示词模板预定义的、用于引导AI使用特定工具的对话模板。一个MCP服务器比如我们的cryptoapis-mcp-utils就是一个实现了这套协议的进程它向MCP客户端如Claude Desktop、Cline IDE宣告“嗨我这里有这些工具和资源可用。”客户端收到后就会把这些工具的描述信息动态地注入到AI模型的上下文中。当用户提出相关需求时AI模型就能“看到”这些工具并决定调用哪一个。为什么选择MCP而不是其他方式标准化与生态MCP由Anthropic推动正迅速成为AI Agent工具集成的“事实标准”。使用MCP意味着你的工具可以无缝接入Claude Desktop、Cline等日益壮大的生态无需为每个平台单独适配。动态性与安全性工具是动态加载的不需要修改AI模型本身。同时MCP服务器通常运行在本地或受信环境API密钥等敏感信息无需发送给AI服务提供商提升了安全性。声明式接口开发者只需用JSON Schema清晰地定义工具的输入输出AI就能理解如何使用降低了开发复杂度。2.2 CryptoAPIs项目的能力基石cryptoapis-mcp-utils的所有能力都来源于CryptoAPIs。这是一个老牌且功能全面的区块链数据提供商其API覆盖了比特币、以太坊、Polygon等数十条主流公链。它的服务可以大致分为几类区块链数据区块、交易、地址余额、UTXO查询。代币数据ERC-20、ERC-721等代币的余额、转账记录。市场数据实时价格、历史K线。交易广播发送签名的交易到网络。事件监听通过Webhook订阅特定地址或合约的事件。项目所做的就是从CryptoAPIs浩如烟海的功能中筛选出最常用、最适合AI交互的场景将它们“翻译”成MCP工具。例如CryptoAPIs的“Get Address Balance”端点被包装成了get_address_balance工具输入是链标识和地址字符串输出是结构化的余额信息。2.3 项目核心设计思路这个工具包的设计体现了很强的实用主义导向场景驱动而非API全覆盖它没有试图把CryptoAPIs的所有API都搬过来而是聚焦于“查询”和“轻量级操作”。例如它可能包含查询余额、交易详情、Gas价格、代币价格以及广播交易但不会包含创建钱包、管理私钥等需要极高安全性的操作。这符合AI作为“信息助理”而非“资产管家”的定位。输入输出高度结构化每个工具都严格定义了输入参数的JSON Schema。例如查询余额需要network(如ethereum-mainnet) 和address。这保证了AI调用时的准确性避免了自然语言歧义带来的错误。错误处理与友好反馈工具内部会捕获CryptoAPIs返回的错误如无效地址、API限流并将其转换为AI和最终用户都能理解的错误信息而不是抛出一堆晦涩的HTTP状态码和JSON。配置化所有工具都依赖一个统一的CryptoAPIs API Key进行认证。这个Key通过环境变量或配置文件管理与工具逻辑解耦便于安全和部署。注意使用此类工具的核心前提是你已经拥有一个CryptoAPIs的账户并获取了API密钥。他们的服务通常有免费套餐但对于高频使用需要留意调用频次和费用。3. 工具集详解与核心功能实操3.1 环境准备与快速启动假设你是一个Python开发者想在本地Claude Desktop中使用这些工具。以下是详细的步骤步骤一获取CryptoAPIs密钥访问CryptoAPIs官网注册账号。在控制台创建一个新项目获取你的API密钥。通常格式类似a1b2c3d4e5f6g7h8i9j0。关键一步在控制台为你使用的IP地址或0.0.0.0/0以允许所有IP仅限测试启用IP白名单。这是CryptoAPIs安全策略的要求否则API调用会失败。步骤二安装与配置MCP服务器项目通常提供了多种安装方式最直接的是通过npm如果它是Node.js项目或pip如果它是Python项目。这里假设它是一个Python包。# 1. 使用pip从源码或如果已发布从索引安装 pip install cryptoapis-mcp-utils # 或者如果你克隆了仓库 # pip install -e /path/to/cryptoapis-mcp-utils # 2. 设置环境变量 export CRYPTOAPIS_API_KEY你的API密钥 # 对于Windows (PowerShell): # $env:CRYPTOAPIS_API_KEY你的API密钥步骤三集成到Claude DesktopClaude Desktop的配置通常位于~/Library/Application Support/Claude/claude_desktop_config.json(Mac) 或%APPDATA%\Claude\claude_desktop_config.json(Windows)。你需要编辑这个JSON文件在mcpServers部分添加一个新的服务器配置。具体格式取决于项目提供的启动命令。{ mcpServers: { cryptoapis: { command: python, args: [ -m, cryptoapis_mcp_utils.server ], env: { CRYPTOAPIS_API_KEY: 你的API密钥 } } } }编辑保存后务必完全重启Claude Desktop新的工具才会被加载。3.2 核心工具实战解析配置成功后打开Claude Desktop你就可以在对话中直接使用这些工具了。以下是一些典型场景场景一查询以太坊地址余额你可以直接对Claude说“帮我查一下地址 0x742d35Cc6634C0532925a3b844Bc9e e0bb0f0a1c 在以太坊主网上的ETH和所有主要代币的余额。”Claude在理解你的意图后会在后台调用get_address_balance工具。这个过程对你透明你最终会看到类似这样的回复“已为您查询。地址0x742d35Cc...在以太坊主网上的资产如下ETH: 12.85 ETHUSDC: 5,000.00 USDC其他代币: ...列表”背后的原理工具内部向CryptoAPIs的https://rest.cryptoapis.io/blockchain-data/ethereum/mainnet/addresses/{address}/balance端点发起请求将返回的复杂JSON解析提取出主币和代币余额并以清晰格式返回。场景二获取实时Gas价格你问“现在以太坊主网的Gas费怎么样我想发个普通交易。”Claude会调用get_gas_price或类似工具返回结果可能像这样“当前以太坊主网Gas价格建议低速 (SafeLow): 15 Gwei标准 (Standard): 18 Gwei快速 (Fast): 22 Gwei预计确认时间标准约2分钟快速约30秒。”这个功能对于需要决策交易时机的用户非常实用。场景三广播已签名的交易这是少数“写操作”之一。流程稍微特殊你在其他地方如MetaMask、硬件钱包创建并签名了一笔交易获得了一个16进制的已签名交易数据signed_tx_hex。你对Claude说“请帮我把这个已签名的交易广播到以太坊主网0x02f874...很长一串。”Claude调用broadcast_transaction工具将数据发送到CryptoAPIs的广播端点。返回交易哈希txid。你可以用这个txid去区块链浏览器查询状态。重要实操心得广播交易工具绝不参与私钥签名。私钥管理必须留在最安全的环境离线钱包、硬件钱包。这个工具只做最后一公里——发送。这符合安全最佳实践即“AI不碰私钥”。3.3 工具列表与输入输出详解为了让你更清晰地了解它能做什么下面是一个可能包含的核心工具列表及其参数说明工具名功能描述关键输入参数输出示例简化get_address_balance查询地址余额network:ethereum-mainnet,address:0x...{“eth”: “1.5”, “tokens”: [{“symbol”: “USDC”, “balance”: “100”}]}get_transaction查询交易详情network:bitcoin-mainnet,transaction_id:abc123...{“confirmations”: 12, “value”: “0.01 BTC”, “from”: “…”, “to”: “…”}get_gas_price获取Gas价格建议network:ethereum-mainnet{“safeLow”: “15”, “standard”: “18”, “fast”: “22”}get_token_price获取代币价格asset:ethereum,symbol:USDC{“price_usd”: “1.001”, “change_24h”: “-0.1%”}broadcast_transaction广播签名交易network:polygon-mainnet,signed_tx_hex:0x...{“txid”: “0x…”}参数选择逻辑network参数通常遵循CryptoAPIs的命名约定如ethereum-mainnet,bitcoin-testnet。这需要你查阅CryptoAPIs的文档或工具包的说明。统一的命名规范是AI能正确调用的关键。4. 高级应用场景与自定义扩展4.1 构建专业AI Agent场景仅仅查询余额和价格只是开始。结合AI的逻辑推理能力cryptoapis-mcp-utils可以成为更强大Agent的核心组件。场景一链上投资组合监控Agent你可以构建一个Agent每天定时或根据指令查询你指定的多个地址在不同链上的资产。AI不仅可以汇总总价值按实时价格换算还能进行分析“过去24小时你的Polygon持仓价值增长了5%主要得益于MATIC价格上涨。以太坊上的DeFi头寸暂无变化。” 这需要组合调用get_address_balance和get_token_price工具并由AI进行数据聚合与解读。场景二交易分析与警报Agent你可以让AI监控一个特定地址如项目方金库、巨鲸地址。当有大额转账通过get_transaction分析交易金额发生时AI主动通知你“注意地址A刚刚向交易所转入了10,000 ETH可能预示抛售压力。” 这需要将MCP工具与AI的长期记忆或外部数据库结合记录历史状态并进行比对。场景三新手链上操作向导对于新手用户他可以问“我想给朋友转0.1个ETH该怎么操作” AI可以分步引导1. 解释需要对方地址。2. 查询当前Gas费解释如何选择。3. 引导用户去钱包如MetaMask进行签名。4. 最后提供broadcast_transaction工具让用户粘贴已签名的数据来完成发送。AI扮演了教育者和操作辅助的角色。4.2 自定义工具开发指南项目提供的工具是通用的但你的业务可能需要更特定的功能。幸运的是MCP协议和项目结构通常支持扩展。以下是添加一个自定义工具的思考流程假设需求我们需要一个工具查询某个ERC-20代币在过去7天内的持币地址数变化一个链上分析常用指标。步骤一确定底层API首先检查CryptoAPIs是否提供此数据。假设其“代币指标”端点提供了holder_count的历史数据。我们需要调用类似GET /blockchain-data/ethereum/mainnet/tokens/{contractAddress}/metrics/holder-count的接口并支持时间范围参数。步骤二定义MCP工具在项目代码中找到一个定义工具的地方通常是tools.py或类似文件。我们需要添加一个新的工具函数。# 伪代码示例 async def get_token_holder_trend( network: str, contract_address: str, days: int 7 ) - str: 查询指定ERC-20代币持币地址数趋势。 Args: network: 区块链网络如 ethereum-mainnet contract_address: 代币合约地址 days: 回溯天数默认7天 # 1. 构建请求URL和参数 # 2. 使用项目内已有的API客户端发送请求 # 3. 解析响应计算变化趋势如“本周新增持币地址XXX个” # 4. 格式化结果为自然语言字符串返回给AI pass步骤三注册工具将这个函数注册到MCP服务器的工具列表中确保其输入参数的JSON Schema被正确声明这样AI才能理解如何调用它。步骤四测试与迭代重启你的MCP服务器和Claude Desktop尝试让AI使用这个新工具。根据反馈调整参数命名和结果格式使其对AI更友好。开发心得自定义工具的关键在于输入明确输出友好。输入参数尽量用枚举或严格校验如network必须是预定义列表中的值避免AI自由发挥导致错误。输出结果应被处理成易于AI总结和转述的清晰结构而不是原始API的嵌套JSON。5. 常见问题、排查技巧与安全实践5.1 问题排查实录在实际集成和使用中你可能会遇到以下典型问题问题一Claude Desktop无法识别工具或配置后工具不出现。检查点1配置文件路径与格式。确保claude_desktop_config.json文件路径正确且JSON格式合法无多余逗号。一个在线JSON校验器能帮你快速定位语法错误。检查点2MCP服务器启动日志。在终端手动运行你配置的启动命令如python -m cryptoapis_mcp_utils.server。观察是否有错误输出常见的有缺少Python依赖、API密钥未设置或无效、网络连接失败。检查点3Claude Desktop重启。任何配置修改后必须完全退出并重启Claude Desktop它只在启动时加载MCP配置。检查点4查看加载状态。一些Claude Desktop版本会在设置界面或有特殊命令如输入/mcp显示已加载的MCP服务器。检查你的服务器是否在列表中。问题二工具调用失败返回API错误。错误信息“Invalid API Key” 或 “Unauthorized”原因环境变量CRYPTOAPIS_API_KEY未正确设置或密钥本身无效/已过期。解决在终端执行echo $CRYPTOAPIS_API_KEY(Unix) 或echo %CRYPTOAPIS_API_KEY%(Windows) 确认密钥已加载。重新在CryptoAPIs控制台复制密钥。错误信息“IP address not whitelisted”原因这是CryptoAPIs安全策略。你的服务器公网IP不在其白名单中。解决登录CryptoAPIs控制台找到你的项目设置将你部署服务器的公网IP地址如果你在本地测试可能是你的家庭网络IP添加到IP白名单。对于本地开发有时需要暂时允许所有IP0.0.0.0/0但上线后务必改为指定IP。错误信息“Rate limit exceeded”原因免费套餐或当前付费套餐的调用频率已用完。解决控制调用频率或升级CryptoAPIs套餐。在AI Agent中可以考虑对频繁查询如Gas价格增加本地缓存避免每次对话都调用API。问题三AI无法正确调用工具总是误解我的意图。原因MCP工具的描述description和参数定义inputSchema不够清晰导致AI的“思维链”无法准确匹配。解决这是提示工程问题。优化工具的描述使其更贴近自然语言。例如将工具描述从“获取余额”改为“查询一个区块链地址上的原生币和代币余额”并明确举例说明network参数应填ethereum-mainnet这样的格式。你可以在自定义工具时精心编写这些元数据。5.2 安全实践与成本控制安全第一密钥隔离永远不要将CRYPTOAPIS_API_KEY硬编码在代码中或提交到Git仓库。始终使用环境变量或安全的密钥管理服务。最小权限原则在CryptoAPIs控制台如果支持仅为你的密钥分配必要的API权限如只读余额、广播交易而不是全部权限。IP白名单生产环境务必设置严格的IP白名单仅允许你的服务器IP访问。AI权限隔离牢记通过MCP暴露给AI的是工具而不是你的根密钥。AI只能执行工具定义的操作。但即便如此也要谨慎暴露广播交易这类“写操作”确保只有受信任的会话可以使用。成本控制CryptoAPIs API调用是收费的免费额度有限。构建AI Agent时需注意避免无节制查询不要在每次对话轮询中都调用高成本API如获取复杂交易列表。设计对话逻辑在用户明确需要时才触发查询。使用缓存对于短期内不变的数据如已确认的交易详情、一段时间内的价格可以在你的MCP服务器或应用层添加内存缓存如TTL为30秒的Gas价格缓存大幅减少API调用。监控用量定期查看CryptoAPIs控制台的用量统计设置告警避免意外超支。5.3 性能优化思考当你的Agent用户量增加时性能可能成为瓶颈。连接池确保你的MCP服务器内部使用的HTTP客户端配置了连接池以复用向CryptoAPIs发起的连接。异步处理如果工具包基于异步框架如Python的asyncio确保工具函数本身是异步的以避免在等待网络响应时阻塞其他请求。批量操作如果业务场景需要查询多个地址的余额可以评估CryptoAPIs是否提供批量查询接口。如果有可以封装一个单独的批量查询工具比多次调用单地址接口更高效。我个人在整合这类工具时的体会是成功的秘诀不在于功能的堆砌而在于场景的精准匹配和交互的流畅设计。cryptoapis-mcp-utils提供了一个坚实的起点但它更像是一套乐高积木。如何用这些积木搭建出真正解决用户问题的、智能且安全的AI应用才是更有挑战也更有价值的部分。从简单的查询开始逐步尝试组合工具、设计对话流你会发现让AI理解并操作链上数据正在从一个技术概念变成触手可及的现实。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2602150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…