尧图精选

PennyLane 量子机器学习实战指南:用科学 Agent 技能库构建可微分的量子线路与混合量子-经典模型

🕒 发布时间:2026/9/12 23:41:37 📁 来源:尧图网络
PennyLane 量子机器学习实战指南用科学 Agent 技能库构建可微分的量子线路与混合量子-经典模型【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills导读PennyLane 是一个跨平台的 Python 量子计算库其核心思想是把量子计算机当作可训练的神经网络来使用它提供量子线路的自动微分automatic differentiation、设备无关device-independent编程并能与 PyTorch、JAX 等经典机器学习框架无缝集成。本文基于本仓库中的 pennylane 技能 及其 7 个参考文档getting_started、quantum_circuits、quantum_ml、quantum_chemistry、devices_backends、optimization、advanced_features系统讲解从安装、量子线路构建到 VQE、QAOA、混合量子-经典模型训练的完整技术栈。读完本文你将掌握用 QNode 定义可微分量子线路、用多种梯度方法训练参数化量子线路、在模拟器与真实量子硬件IBM、Amazon Braket、Google、Rigetti、IonQ之间无缝切换以及利用 Catalyst JIT 编译优化性能。本技能在仓库中被登记为跨平台量子 ML 框架见 docs/skills.md其运行依赖在 tests/skill-requirements.toml 中固化pennylane、pennylane-lightning、pennylane-cirq、pennylane-ionq、pennylane-qiskit 等安装时可直接复用这些版本约束。安装与环境准备Python 版本与 uv 安装PennyLane 0.45.0 要求 Python 3.11 或更新版本。技能文档推荐使用uv配合锁定版本号保证可复现环境uv pip install pennylane0.45.0设备插件Plugin安装若需访问特定量子硬件或高性能模拟器按目标厂商安装对应插件。官方特别提示从干净环境开始安装或升级 Qiskit因为其依赖图非常严格见 SKILL.md。# IBM Quantum uv pip install pennylane-qiskit0.45.0 # Amazon Braket uv pip install amazon-braket-pennylane-plugin1.34.1 # Google Cirq uv pip install pennylane-cirq0.44.0 # Rigetti Forest uv pip install pennylane-rigetti0.40.0 # IonQ uv pip install pennylane-ionq0.45.0 # High-performance local simulators uv pip install pennylane-lightning0.45.0 # Catalyst JIT compilation uv pip install pennylane-catalyst0.15.0仓库的 tests/skill-requirements.toml 已把核心依赖固化为pennylane、pennylane-lightning、pennylane-cirq、pennylane-ionq、pennylane-qiskit等实际部署时可直接参考这一依赖清单。核心概念与快速上手QNode连接线路与设备的桥梁QNodeQuantum Node是 PennyLane 的核心抽象——它将量子线路函数与设备绑定并自动接入自动微分。快速入门示例来自 SKILL.mdimport pennylane as qml from pennylane import numpy as np # Create device dev qml.device(default.qubit, wires2) # Define quantum circuit qml.qnode(dev) def circuit(params): qml.RX(params[0], wires0) qml.RY(params[1], wires1) qml.CNOT(wires[0, 1]) return qml.expval(qml.PauliZ(0)) # Optimize parameters opt qml.GradientDescentOptimizer(stepsize0.1) params np.array([0.1, 0.2], requires_gradTrue) for i in range(100): params opt.step(circuit, params)关键点只有把参数标记为requires_gradTruePennyLane 才会对其求梯度qml.device(...)选择执行后端而qml.qnode(dev)装饰器将普通 Python 函数变成可微分、可执行于指定设备的量子节点。三种测量方式参考 getting_started.mdPennyLane 支持多种测量原语qml.qnode(dev) def measure_circuit(): qml.Hadamard(wires0) return qml.expval(qml.PauliZ(0)) # 期望值 qml.qnode(dev) def measure_probs(): qml.Hadamard(wires0) return qml.probs(wires[0, 1]) # 概率分布 qml.qnode(dev) def measure_samples(): qml.Hadamard(wires0) return qml.sample(qml.PauliZ(0)) # 采样qml.expval返回算符期望值qml.probs返回各计算基态概率qml.sample返回原始样本配合qml.set_shots指定采样次数qml.var返回方差qml.counts返回各结果的计数。三步标准工作流构建线路在 QNode 中组合参数化旋转门RX/RY/RZ与纠缠门CNOT最后返回测量结果例如qml.expval(qml.PauliZ(0) qml.PauliZ(1))计算张量积可观测量的期望值见 getting_started.md。计算梯度grad_fn qml.grad(quantum_circuit)一行即可获得梯度函数gradients grad_fn(weights)见 getting_started.md。优化参数用GradientDescentOptimizer等内置优化器循环调用opt.step(circuit, weights)见 getting_started.md。量子线路构建详解参考 quantum_circuits.mdPennyLane 提供 100 门与操作。单量子比特门Pauli 门qml.PauliX/Y/Z(wires0)比特翻转/相位翻转叠加与相位qml.Hadamard(wires0)、qml.S(wires0)π/2 相位、qml.T(wires0)π/4 相位、qml.PhaseShift(phi, wires0)参数化旋转qml.RX/RY/RZ(theta, wires0)通用旋转qml.Rot(phi, theta, omega, wires0)任意单比特酉qml.U3(theta, phi, delta, wires0)多比特门与受控操作两比特qml.CNOT、qml.CZ、qml.SWAP、受控旋转qml.CRX/CRY/CRZ、Ising 耦合门qml.IsingXX/YY/ZZ(phi, wires[0,1])多比特qml.ToffoliCCNOT、qml.MultiControlledX(control_wires[0,1,2], wires3)、qml.MultiRZ通用受控qml.ctrl(qml.RX(0.5, wires1), control0)可给任意操作加控制位control_values[0]支持负控制控制位为 |0⟩ 时触发条件操作qml.measure(0)做线路中途测量再用qml.cond(m, qml.PauliX)(wires1)依据测量结果条件执行门见 quantum_circuits.md态制备qml.BasisState([1, 0, 1], wires[0, 1, 2]) # |101⟩ 计算基态 amplitudes [0.5, 0.5, 0.5, 0.5] # 必须归一化 qml.MottonenStatePreparation(amplitudes, wires[0, 1]) # 振幅编码经典数据结构与数据编码quantum_circuits.md 给出四种数据编码模式def angle_encoding(x, wires): 把经典数据编码为旋转角。 for i, wire in enumerate(wires): qml.RX(x[i], wireswire) def amplitude_encoding(x, wires): 把数据编码为量子态振幅。 qml.MottonenStatePreparation(x, wireswires) def basis_encoding(x, wires): 把二进制数据编码到计算基态。 for i, val in enumerate(x): if val: qml.PauliX(wiresi)线路检查与调试文本绘制print(qml.draw(circuit)(params))Matplotlib 可视化fig, ax qml.draw_mpl(circuit)(params)结构分析qml.specs(circuit)(params)返回门数、深度、可训练参数数等Tape 检查with qml.tape.QuantumTape() as tape:记录操作后打印tape.operations、tape.measurements线路变换qml.transforms.decompose展开到目标门集、qml.transforms.cancel_inverses消去相邻逆操作、qml.transforms.commute_controlled将测量前移经典量子线路模式参考 quantum_circuits.mdBell 态制备qml.Hadamard(0); qml.CNOT([0,1])后qml.state()、GHZ 态、以及完整实现的量子傅里叶变换QFT与逆 QFT用一系列qml.CRZ(np.pi / (2**(j-i)), ...)构造。量子机器学习QML混合量子-经典模型参考 quantum_ml.md混合模型把量子线路作为经典流水线中的一层dev qml.device(default.qubit, wires4) qml.qnode(dev) def quantum_layer(inputs, weights): for i, inp in enumerate(inputs): qml.RY(inp, wiresi) # 编码经典数据 for wire in range(4): qml.RX(weights[wire], wireswire) for wire in range(3): qml.CNOT(wires[wire, wire1]) return [qml.expval(qml.PauliZ(i)) for i in range(4)]经典预处理如np.tanh(classical_weights[pre] x)与后处理classical_weights[post] quantum_out可组合成完整流水线。与 PyTorch 集成设置interfacetorch后QNode 直接接受/输出 torch 张量梯度通过 torch 的反向传播打通见 quantum_ml.md。更简洁的封装是qml.qnn.TorchLayer——把 QNode 包装成torch.nn.Module通过weight_shapes声明可训练参数形状qml.qnode(dev) def qnode(inputs, weights): qml.AngleEmbedding(inputs, wiresrange(n_qubits)) qml.StronglyEntanglingLayers(weights, wiresrange(n_qubits)) return [qml.expval(qml.Z(i)) for i in range(n_qubits)] weight_shapes {weights: (3, n_qubits, 3)} qlayer qml.qnn.TorchLayer(qnode, weight_shapes) model torch.nn.Sequential( torch.nn.Linear(4, n_qubits), qlayer, torch.nn.Linear(n_qubits, 2), )随后用标准的torch.optim.Adamloss.backward()即可训练整个混合模型。与 JAX 集成设置interfacejax可直接套用jax.jit、jax.grad构建训练循环见 quantum_ml.md。TensorFlow 支持状态重要兼容性提示自 PennyLane v0.44 起TensorFlow 接口不再维护qml.qnn.keras.KerasLayer已被移除见 quantum_ml.md。新代码应优先使用 PyTorchqml.qnn.TorchLayer或 JAX/Optax。量子神经网络变分量子线路VQC由旋转层RYRZ加 CNOT 纠缠层堆叠而成见 quantum_ml.md量子卷积网络QCNN卷积层本地酉 近邻纠缠与池化层qml.measure测量丢弃交替见 quantum_ml.md量子循环网络QRNN以单个 QNode 为 cell把隐藏态编码进量子比特并逐时间步传递见 quantum_ml.md变分分类器与迁移学习二分类特征映射 变分层后测量PauliZ(0)把输出映射到 [0,1] 后计算交叉熵损失见 quantum_ml.md多分类返回多个可观测量的 logits 并接 softmax迁移学习冻结前几层、只微调最后一层或先用经典 CNN 提取特征如 4 维特征再送入量子分类器见 quantum_ml.md数据编码策略汇总参考 quantum_ml.md除角度/振幅/基态编码外还有IQP 编码Hadamard 层 RZ(feature)IsingZZ(x[i]*x[i1])交叉项哈密顿量编码由特征构造qml.Hamiltonian(coeffs, obs)后用qml.ApproxTimeEvolution(H, time, n10)演化量子化学VQE 与分子模拟分子哈密顿量生成参考 quantum_chemistry.mdimport pennylane as qml from pennylane import qchem import numpy as np symbols [H, H] geometry np.array([[0.0, 0.0, -0.66140414], [0.0, 0.0, 0.66140414]]) molecule qchem.Molecule(symbols, geometry, charge0, mult1, basis_namesto-3g) hamiltonian, n_qubits qchem.molecular_hamiltonian(molecule, mappingjordan_wigner) print(fHamiltonian: {hamiltonian}) print(fNumber of qubits needed: {n_qubits})费米子-量子比特映射默认 Jordan-Wigner另有mappingbravyi_kitaev对某些体系更高效、常可降低线路深度和mappingparity自定义哈密顿量H 0.2 * qml.PauliZ(0) - 0.8 * qml.PauliZ(0) qml.PauliZ(1) 0.5 * qml.PauliX(0) qml.PauliX(1)或qml.Hamiltonian(coeffs, obs)见 quantum_chemistry.mdVQE 基态能量计算完整流程构建哈密顿量 → 用qchem.hf_state(electrons, orbitals)准备 Hartree-Fock 参考态 → 定义变分拟设 → 用opt.step_and_cost(vqe_circuit, params)迭代优化SKILL.mdfrom pennylane import qchem molecule qchem.Molecule(symbols, geometry) H, n_qubits qchem.molecular_hamiltonian(molecule) hf_state qchem.hf_state(electrons2, orbitalsn_qubits) singles, doubles qchem.excitations(electrons2, orbitalsn_qubits) s_wires, d_wires qchem.excitations_to_wires(singles, doubles) qml.qnode(dev) def vqe_circuit(params): qml.BasisState(hf_state, wiresrange(n_qubits)) qml.UCCSD(params, wiresrange(n_qubits), s_wiress_wires, d_wiresd_wires) return qml.expval(H) opt qml.AdamOptimizer(stepsize0.1) params np.zeros(len(singles) len(doubles), requires_gradTrue) for i in range(100): params, energy opt.step_and_cost(vqe_circuit, params) print(fStep {i}: Energy {energy:.6f} Ha)UCCSD 拟设与激发态UCCSD由单激发与双激发算子构造、化学动机明确的拟设qml.UCCSD(params, wires..., s_wires..., d_wires...)直接使用见 quantum_chemistry.md自适应 VQEADAPT-VQE迭代地从候选算子池中挑选能量改进最大的门加入拟设激发态量子子空间展开对基态施加激发构造子空间矩阵并np.linalg.eigh对角化与 SSVQE同时优化多个态加正交性惩罚项见 quantum_chemistry.md分子结构、几何优化与性质计算从 XYZ 文件读取symbols, geometry qchem.read_structure(molecule.xyz)几何优化外层用scipy.optimize.minimizeBFGS迭代核坐标内层对每个构型跑 VQE见 quantum_chemistry.md解离曲线沿键轴扫描距离np.linspace(0.5, 3.0, 20)逐点计算能量并绘图性质计算qchem.dipole_moment(molecule)求偶极矩、qchem.particle_number(n_qubits)校验粒子数守恒qchem.atomic_numbers提供原子序数见 quantum_chemistry.md反应能ΔE E(products) - E(reactants)换算因子1 Ha ≈ 627.5 kcal/mol见 quantum_chemistry.md基组与活性空间基组选择STO-3G最快、最不精确→ 6-31G双 zeta→ cc-pVDZ更大、更精确通过basis_name参数指定见 quantum_chemistry.md活性空间molecular_hamiltonian(molecule, active_electrons2, active_orbitals2)显著减少所需量子比特数见 quantum_chemistry.md设备管理与后端切换内置模拟器参考 devices_backends.md设备类型特性default.qubit通用态矢量模拟器通用目的支持约 25 比特lightning.qubit高性能 C 模拟器更快支持约 30 比特default.mixed混合态模拟器支持密度矩阵与噪声信道default.cliffordClifford 模拟器只支持 Clifford 门H、S、CNOT可达 100 比特极快lightning.qubit是性能关键任务的默认选择default.mixed是噪声研究的必备后端。ML 集成时使用qml.device(default.qubit, wires4)interfacetorch/jax无需旧的接口专用设备名。硬件插件IBM Quantumqml.device(qiskit.aer, wires2)用 IBM 模拟器qml.device(qiskit.remote, wires..., backendbackend)用真实硬件其中backend来自QiskitRuntimeService().least_busy(operationalTrue, simulatorFalse, min_num_qubits2)见 devices_backends.mdAmazon Braket本地braket.local.qubit、AWS 模拟器braket.aws.qubit需device_arn与s3_destination_folder、IonQ/Rigetti QPUGoogle Cirqcirq.simulator、更快的有 qsim 的cirq.qsim、cirq.pasqal需访问权限Rigettirigetti.qvm4q-qvm与rigetti.qpuAspen-M-3IonQionq.simulator/ionq.qpu需api_keyXanadu Borealis光子量子计算机strawberryfields.remotebackendborealis设备选择策略devices_backends.md 给出典型决策逻辑需要真实硬件时按 qubit 上限选择厂商有噪声模型时用default.mixed否则理想模拟器中小于等于 20 比特用lightning.qubit、更大用default.qubit。设备配置shots、动态 shots 与可复现性精确模拟不设 shotsqml.device(default.qubit, wires2)返回精确期望值采样模式qml.set_shots(1000)装饰器或qml.set_shots(circuit, shots1000)动态指定动态切换同一线路分别执行qml.set_shots(circuit, shots100)()、shots1000、shotsNone精确可复现性qml.device(default.qubit, wires2, seed42)固定随机种子检查设备能力dev qml.device(default.qubit, wires4) print(Device name:, dev.name) print(Number of wires:, dev.num_wires) print(Supported gates:, dev.operations) print(Supported observables:, dev.observables)自定义设备与自定义门继承pennylane.devices.DefaultQubit并覆写apply可创建自定义设备继承qml.operation.Operation并实现decomposition可定义自定义门如RY(θ/2)→RZ(θ)→RY(-θ/2)分解见 devices_backends.md。设备无关编程示例同一线路函数在不同后端上执行SKILL.mdcircuit_def lambda dev: qml.qnode(dev)(circuit_function) dev_sim qml.device(default.qubit, wires4) result_sim circuit_def(dev_sim)(params) from qiskit_ibm_runtime import QiskitRuntimeService service QiskitRuntimeService() backend service.least_busy(operationalTrue, simulatorFalse, min_num_qubits4) dev_hw qml.device(qiskit.remote, wiresbackend.num_qubits, backendbackend) result_hw circuit_def(dev_hw)(params)优化优化器、梯度方法与变分算法内置优化器参考 optimization.mdPennyLane 内置多种优化器优化器关键参数适用场景GradientDescentOptimizerstepsize基础梯度下降AdamOptimizerstepsize, beta10.9, beta20.999自适应学习率通用首选MomentumOptimizerstepsize, momentum0.9带动量梯度下降AdagradOptimizerstepsize自适应梯度RMSPropOptimizerstepsize, decay0.9, eps1e-8均方根传播NesterovMomentumOptimizerstepsize, momentum0.9Nesterov 加速梯度QNGOptimizerstepsize量子自然梯度变分线路更高效RotosolveOptimizer无解析式参数更新收敛快SPSAOptimizermaxiter高维参数空间的随机扰动近似梯度计算方法backprop反向传播只适用于模拟器最快parameter-shift参数平移规则硬件兼容真机唯一通用选择finite-diff有限差分数值近似adjoint伴随方法态矢量模拟器的高效梯度spsa同时扰动随机近似适合参数极多的线路使用方式统一为qml.qnode(dev, diff_methodbackprop)等见 optimization.md。还可通过qml.jacobian(qml.grad(circuit))计算 Hessian。变分量子特征求解器VQE通用 VQE 模板定义拟设 →qml.qnode中return qml.expval(hamiltonian)→AdamOptimizer.step_and_cost循环记录能量曲线见 optimization.md。化学工作流中拟设从qml.BasisState(qchem.hf_state(2, n_qubits), ...)出发。QAOA参考 optimization.mdMaxCut 问题cost_h, mixer_h qaoa.maxcut(graph)生成哈密顿量qaoa.cost_layer(gamma, cost_h)qaoa.mixer_layer(alpha, mixer_h)构造一层多层堆叠后以-qaoa_circuit(p, depth)为目标做最大化优化QUBO把 QUBO 矩阵映射为qml.Hamiltonian对角项-Q[i][j]/2 · Z(i)、交叉项-Q[i][j]/4 · Z(i)Z(j)cost 层用qml.exp(op, -1j * gamma * coeff)mixer 层用qml.RX(2 * beta, wireswire)训练策略与挑战学习率调度按lr base_lr * (decay_rate ** (epoch // decay_steps))指数衰减Mini-batch随机打乱后按batch_size分批更新早停验证损失连续patience轮不改善即停止保留最佳参数梯度裁剪梯度范数超阈值时等比缩放grads grads * (max_norm / grad_norm)贫瘠高原Barren Plateau随机初始化多次测量梯度方差若均值 1e-6则警告存在贫瘠高原应对策略包括小随机初始化uniform(-0.1, 0.1)、Xavier 初始化、从零identity出发、逐层衰减初始化以及多次随机重启逃逸局部极小值见 optimization.md高级特性电路模板Templates参考 advanced_features.md常用模板包括StronglyEntanglingLayers强纠缠层用StronglyEntanglingLayers.shape(n_layers, n_wires)获取权重形状BasicEntanglerLayers简单纠缠层RandomLayers随机线路结构SimplifiedTwoDesign简化二设计ParticleConservingU1粒子数守恒层化学适用嵌入模板AngleEmbedding、AmplitudeEmbedding(features, wires..., normalizeTrue)、IQPEmbedding(features, wires..., n_repeats2)变换Transforms电路级transforms.cancel_inverses消逆、transforms.merge_rotations旋转合并如两个 RX 合并为一个、transforms.commute_controlled参数广播向qml.RX传入参数数组params np.array([0.1, 0.2, 0.3, 0.4])一次执行多个参数集度量张量qml.metric_tensor(variational_circuit)(params)计算量子几何张量供量子自然梯度使用Tape 操作qml.tape.QuantumTape()记录后transforms.decompose(tape, gate_set{qml.RX, qml.RY, qml.RZ, qml.CNOT})脉冲级编程from pennylane import pulse提供pulse.drive(amplitudelambda t: ..., phase0.0, freq5.0, wires0, duration2.0)支持自定义包络如高斯脉冲、脉冲序列X/Y 相位差 π/2以及最优控制把脉冲参数作为可训练参数以与目标门保真度为代价函数优化见 advanced_features.md。Catalyst JIT 编译from catalyst import qjit把qjit放在qml.qnode(dev)上方即可实现即时编译首次调用编译、后续调用快速。支持编译态for循环qml.for_loop、while循环qml.while_loop以及grad_fn qjit(qml.grad(circuit))的编译态梯度见 advanced_features.md。自适应线路与量子纠错中途测量反馈m0 qml.measure(0)后用qml.cond(m0 m1, qml.Hadamard)(wires2)实现复合条件动态深度循环内qml.measure(0, resetTrue)并依据测量结果决定是否提前收敛量子纠错示例3 比特比特翻转码包含编码、模拟错误、综合征测量与条件纠错见 advanced_features.md噪声模型与误差缓解内置噪声信道qml.DepolarizingChannel(0.1, wires0)、qml.AmplitudeDamping(0.05, wires0)能量损失、qml.PhaseDamping退相干、qml.BitFlip、qml.PhaseFlip。自定义噪声用 Kraus 算子构造并封装为qml.QubitChannel(custom_noise(0.1), wires0)。噪声感知训练在default.mixed上每门后插入DepolarizingChannel(noise_level, wireswire)再优化见 advanced_features.md。资源估算qml.specs(circuit)(params)返回num_operations、depth、gate_types、gate_sizes、num_trainable_params经典模拟成本估算态矢量大小2**n_qubits * 16字节complex12820 比特约 1 GB 量级可用estimate_resources(n_qubits, depth)辅助预判内存与时间见 advanced_features.md最佳实践清单综合 SKILL.md 与各参考文档落地时遵循以下原则先在模拟器上验证正式提交硬件前用default.qubit测试硬件上用 parameter-shiftbackprop只适用于模拟器按数据结构选择编码角度/振幅/基态/IQP 各有适用场景谨慎初始化用小随机值避免贫瘠高原监控梯度深线路中警惕梯度消失缓存设备复用 device 对象减少初始化开销剖析线路用qml.specs()分析复杂度本地先行提交硬件前充分本地验证善用模板用内置模板覆盖常见线路模式尽量 JIT 编译性能关键代码用 Catalyst性能优先用 lightning较大线路切换lightning.qubit配合可选的 GPU 设备lightning.gpu按任务匹配设备噪声研究用default.mixedClifford 线路用default.clifford设置合理 shots在精度与速度间平衡新项目用 PyTorch/JAXTensorFlow 接口自 v0.44 起不再维护延伸阅读仓库中的全部参考文档均可按需深入getting_started.md — 安装、核心概念、首个线路quantum_circuits.md — 门、测量、线路模式quantum_ml.md — 混合模型、框架集成、QNNquantum_chemistry.md — VQE、分子哈密顿量、化学工作流devices_backends.md — 模拟器、硬件插件、设备配置optimization.md — 优化器、梯度、变分算法advanced_features.md — 模板、变换、JIT、噪声在 Agent 工作流中本技能SKILL.md的元数据允许使用 Read/Bash/Python 工具技能定位为训练量子线路、构建混合量子-经典模型、跨 IBM/Google/Rigetti/IonQ 设备移植的首选方案若需硬件特定的优化可选用 qiskitIBM或 cirqGoogle开放量子系统则用 qutip。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →