AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)

核心目标:让网络工程师能用一句自然语言,生成可审核、可维护、可直接部署到 Cisco / Huawei 的自动化配置,包括模板、变量文件、多厂商差异化处理与幂等验证。

当 AI 成为网络工程的"前端解释器"之后,传统的自动化工具链(Ansible、Jinja2、Netconf/RESTconf、NAPALM、Paramiko)本质上发生了角色反转:

  • 以前:你写模板 → 你填变量 → 你写 playbook → 你部署
  • 现在:你写描述 → AI 产出模板/变量/Playbook → 你审核 → 你部署

看似只是把"写代码"挪给了 AI,但本质不是------正确的体系是:

AI 做语义建模与结构化转换,人类工程师保证意图正确与策略合规,最终形成一个高度可控的自动化流水线。

本篇文章,就是把这一条"自然语义 → 编排 → 模板 → Playbook → 合规校验"链路彻底讲透。

01|为什么把 AI 接入 Ansible/Jinja,不是"锦上添花",而是必然趋势

现实情况是,绝大多数网络工程团队的自动化失败不是因为不会写 Jinja2 模板,而是因为没人愿意维护模板

原因很清晰:

1)模板的复杂度高:厂商差异巨大

同样一个 VLAN:

Cisco IOS

vlan 10

name PROD

Huawei

vlan 10

description PROD

Arista

vlan 10

name PROD

Jinja 模板要写成这样:

{% if vendor == "cisco" %}

vlan {{ id }}

name {{ name }}

{% elif vendor == "huawei" %}

vlan {{ id }}

description {{ name }}

{% elif vendor == "arista" %}

vlan {{ id }}

name {{ name }}

{% endif %}

这对于普通工程师是门槛;对于团队,是负担。

2)Playbook 结构多、模块多、依赖链多

例如生成 VLAN,要:

  • inventory
  • group_vars
  • host_vars
  • roles
  • tasks
  • templates
  • handler
  • connection plugin(netconf / network_cli)

新手面对"一堆目录",完全无法上手。

3)变化速度快:模板老化快、目录结构常年不更新

公司网络拓扑一年变一次,但模板可能四年不更新

结果是:

  • Playbook 还能跑,但逻辑已经和现网脱节
  • 自动化失灵,人又回到 CLI

AI 的介入点不是"替你写模板",而是"保持模板体系长期可维护"

AI 在这类任务最强的能力是:

  1. 自然语言 → 数据模型(YAML / JSON)
  2. 数据模型 → 模板 / 变量文件 / Playbook
  3. 配置策略自动对齐(多厂商差异语义映射)
  4. 自动审计(幂等、排序、字段缺失检查)

一句话总结:

AI 为网络工程解决的是"自动化工程本身的自动化"。

这才是你要在专栏中带给读者的"后 AI 网络工程观"。

02|"自然语义 → 自动化资产"的标准流水线(核心框架)

我先给出整体框架,后面逐段拆解,这是本篇文章最重要的部分:

【AI 自动化流水线核心 8 步】

① 需求解析(Intent Understanding)

输入自然语句:

"给总部园区新增 12 个办公 VLAN,编号 210--221,命名格式 office_xxx,Cisco 设备和 Huawei 设备都要生成。"

AI 转换成结构化模型:

task: create_vlans

vlans:

  • { id: 210, name: office_210 }

  • { id: 211, name: office_211 }

...

vendor_targets:

  • cisco_ios

  • huawei_vrp

site: HQ

deploy: true

② 数据模型校验(Schema Validation)

AI 自动检查:

  • VLAN ID 是否越界
  • 是否重复
  • 是否缺字段
  • 是否违反命名规则
  • 是否包含保留网段/策略冲突(尤其安全策略)

必要时给出修正建议。

③ 多厂商语义映射(Semantic Vendor Mapping)

比如 NAT:

  • Cisco:ip nat inside source static ...
  • Huawei:nat static ... inside
  • Juniper:在 security nat 体系下

AI 将"语义模型 → 厂商命令模型"映射成:

cisco_ios:

  • command: "ip nat inside source static {{ inside }} {{ global }}"

huawei_vrp:

  • command: "nat static global {{ global }} inside {{ inside }}"

这是本篇的关键知识点:
把多厂商互操作问题从"模板写死"提升为"语义层模型"的 AI 自动推理。

④ 模板生成(Template Generation via Jinja2)

AI 生成 Jinja2 模板,不是直接生成 CLI 配置。

生成后的模板:

  • 要可读
  • 要可维护
  • 要最小差异化(减少条件分支)
  • 要符合厂商最佳实践

后面会讲规则。

⑤ Playbook 生成(Ansible)

AI 生成:

  • role 目录
  • tasks/main.yml
  • templates/xxx.j2
  • vars/main.yml
  • inventory

并保证:

  • 幂等
  • 有 check_mode
  • 有 diff 模式
  • 有安全回滚策略

⑥ 预部署审计(Dry Run / Compliance)

AI 自动生成:

  • diff 报告
  • 合规检查(如 VLAN 命名规范、ACL 冲突)
  • 变更影响分析(如 OSPF 区域影响)

⑦ 部署与回滚(Execution & Rollback)

Ansible 执行时:

  • AI 会生成回滚模板
  • 检查设备版本、模块兼容性
  • 自动识别错误并给出可能原因(Telemetry + LLM 分析)

⑧ 文档自动化(Documentation)

AI 自动生成:

  • 设计文档
  • 部署记录
  • 配置意图文档(Intent file)
  • 改动点列表

整条链路是一个 可标准化、可扩展 的体系结构。

03|AI 如何从"自然语义"中提取网络工程真正需要的数据结构

这一节解决一个关键问题:

AI 的输入应该是自然语言还是结构化描述?

现实是:人类会输入自然语言,但系统内部必须是严格的结构化语义

例子:生成 12 个 VLAN(Cisco+Huawei)

输入自然语句:

"总部接入层新增办公网 VLAN 210--221,命名 office_xxx,Cisco 和 Huawei 都要支持,格式要对齐。"

AI 拆解为:

① 任务类型

create_vlans

② 操作范围

  • site = HQ
  • role = access-layer

③ 对象集合生成(range parsing)

AI 自动生成:

vlans:

  • { id: 210, name: office_210 }

  • { id: 211, name: office_211 }

...

  • { id: 221, name: office_221 }

④ 厂商解析

AI 自动识别:

vendor_targets:

  • cisco_ios

  • huawei_vrp

⑤ 部署模式

默认生成:

deploy_mode:

check: true

enforce: true

为什么这一步极其关键?

因为:

Jinja 模板不需要知道"自然语言",它只需要结构化数据。
Ansible 也不需要知道"自然语言",它只需要 YAML。

所以 AI 的价值就是:

把"混乱的自然语言" → "结构化、可控的数据模型"

这就是工程上的"意图层"(intent layer)。

如果读者理解了这一点,他的自动化思维会提升一个维度。

04|AI 自动生成 Jinja2 模板的 7 条工程规范

这是你专栏最有价值的地方之一。

绝大多数人不知道:Jinja 模板也有工程规范,而且 AI 可以自动遵守。

① 不在模板写复杂逻辑(把逻辑留给变量层)

错误写法(常见):

{% if vlan.id >= 100 and vlan.id < 200 %}

name office

{% endif %}

正确写法:

vars

vlan_type: office

模板只做渲染:

vlan {{ id }}

name {{ vlan_type }}_{{ id }}

→ AI 需要懂这一点。

② 厂商差异必须在 templates 目录层分离,不在模板内部写 if-else

推荐目录结构:

roles/

vlan/

tasks/main.yml

vars/main.yml

templates/

cisco_ios/vlan.j2

huawei_vrp/vlan.j2

不要这样写:

{% if vendor == "cisco" %}

...

{% elif vendor == "huawei" %}

...

{% endif %}

这是模板灾难。

AI 会按正确方法生成。

③ 模板必须 100% 幂等(idempotent)

例如 VLAN 删除前需要确认存在:

{% if state == "absent" %}

no vlan {{ id }}

{% endif %}

AI 自动生成:

  • "增删"两个模板
  • 幂等判断
  • 可回滚逻辑

④ 模板必须保持行级稳定,不允许 AI 生成随机空格或缩进

这点 AI 可通过规则保证:

  • 禁止多余空行
  • 禁止随机缩进
  • 禁止 comment 注入(除非用户要求)

⑤ 模板必须尽量减少条件分支,保持长期可维护

例如 QoS 策略:

错误的(混乱):

{% if policy == "EF" %}

...

{% elif policy == "AF31" %}

...

{% endif %}

正确的:

qos_profiles:

EF:

dscp: 46

AF31:

dscp: 26

模板:

dscp {{ qos_profiles[profile].dscp }}

→ 逻辑全部外置。

⑥ 模板必须支持变量透传

AI 会确保模板支持:

{{ item.id }}

{{ item.name }}

{{ item.description }}

而不是写死。

⑦ 模板必须与 Ansible module 相兼容

例如 Cisco:

cisco.ios.ios_config:

Huawei:

community.network.ce_config:

模板要能与这些模块一起工作。

05|AI 自动生成 Playbook 的工程级目录结构(专家级标准)

要让自动化体系具备 可维护性、可审计性、可扩展性,目录结构必须遵循工程化规范。

绝大多数团队的自动化混乱,不是因为不会写 Ansible,而是因为:

  • Playbook、模板、变量混在一起
  • 多厂商逻辑写在同一个 role
  • host_vars/group_vars 被滥用
  • 不区分"意图文件"和"执行模板"
  • 角色职责不清晰
  • 没有 check_mode、没有 rollback

你要给读者一个"开箱即用、可长期运维"的结构,并让 AI 能按这个结构自动产出。

以下是我为你总结的 可被 AI 自动生成的标准工程目录规范(兼容 Cisco / Huawei / Juniper / Arista):

(1)顶层目录结构(项目级)

net-automation/

intent/ <-- 意图层(AI 输入/输出)

inventory/

hosts.yml

group_vars/

host_vars/

roles/

vlan/

acl/

ospf/

bgp/

...

playbooks/

vlan_create.yml

vlan_delete.yml

acl_apply.yml

...

compliance/

schema/

rules/

docs/

logs/

AI 的实际作用是:

把自然语言描述 → intent 文件
intent 文件 → 变量模型 → Playbook / Template 生成

也就是:

自然语义层

结构化意图层

渲染与执行层

如果读者理解这一点,他的自动化能力会提升一个等级。

(2)意图层(intent)是什么?

这是你文章体系的一大亮点,你要让读者看到:

未来网络工程不是直接写模板,而是写"意图文件"(Intent File)。

示例(AI 自动生成的 intent):

task: create_vlans

site: HQ

vendor_targets:

  • cisco_ios

  • huawei_vrp

vlans:

  • { id: 210, name: office_210 }

  • { id: 211, name: office_211 }

...

所有自动化流程都从这个文件开始。

intent 是整个工程体系的"上游",模板只是下游。

(3)role 的标准结构(你必须给读者一个模板化规范)

以 VLAN 为例:

roles/

vlan/

tasks/

main.yml

validate.yml <-- AI 自动生成的校验逻辑

deploy.yml <-- 发送配置

rollback.yml <-- 自动生成的回滚

vars/

main.yml

templates/

cisco_ios/vlan.j2

huawei_vrp/vlan.j2

arista_eos/vlan.j2

meta/

main.yml

AI 会保证:

  • 每个 vendor 独立目录
  • 幂等性写到 deploy.yml
  • 回滚逻辑写入 rollback.yml
  • validate.yml 用于"执行前审计"

这是一个真正工程级的自动化 role,不是初学者写的"只有一个 main.yml"。

(4)Playbook 应该由 AI 统一生成

典型 playbook:

  • name: Create VLANs (multi-vendor)

hosts: "{{ site }}"

gather_facts: no

vars_files:

  • "../intent/create_vlans.yml"

roles:

  • vlan

要求:

  • 必须支持 check_mode
  • 必须支持 diff 模式
  • 必须无条件幂等
  • 必须可 rollback

后续会全面展开。

06|多厂商差异化处理:AI 如何实现"语义统一 → CLI 多版本映射"

这是文章最核心、最硬核、别人写不出来的部分之一。

(1)传统模板的错误方式

大部分人写的 Jinja2 模板是这样的(错误示例):

{% if vendor == "cisco" %}

vlan {{ id }}

name {{ name }}

{% elif vendor == "huawei" %}

vlan {{ id }}

description {{ name }}

{% endif %}

AI 不应该再复刻这种错误,而是要使用 语义→映射→模板 三层架构。

(2)三层架构:现代自动化的核心

① 语义层(AI 生成)

vlan:

id: 210

name: office_210

state: present

这是"意图模型",厂商无关。

② 映射层(AI 用规则自动生成)

(Semantic Vendor Mapping)

mappings:

cisco_ios:

create:

  • "vlan {{ id }}"

  • " name {{ name }}"

huawei_vrp:

create:

  • "vlan {{ id }}"

  • " description {{ name }}"

AI 的任务是:

  • 自动判断 CLI 的语义位置
  • 自动生成最小差异映射
  • 自动生成命令顺序(语义排序)
  • 自动排重

这一步由 AI 完成,是旧时代做不到的。

③ 模板层(Jinja2 渲染)

模板与 vendor 一一对应:

Cisco:

vlan {{ id }}

name {{ name }}

Huawei:

vlan {{ id }}

description {{ name }}

role 中每个厂商放在不同目录,避免 if/else 污染。

(3)AI 如何做语义统一?(真实工程场景)

例如:ACL

Cisco:

ip access-list extended PROD

permit tcp any any eq 443

Huawei:

acl number 3000

rule 5 permit tcp source any destination any destination-port eq 443

AI 做:

① 提取意图模型:

acl:

name: PROD

id: 3000

entries:

  • { seq: 5, proto: tcp, src: any, dst: any, dst_port: 443 }

② 自动推断厂商模型:

Cisco → 基于名称

Huawei → 基于编号(AI 自动补齐编号)

③ 自动解决参数名差异:

  • destination-port → eq
  • rule sequence → seq
  • IP 位置行为差异

这就是你要展示的"AI 的工程能力"。

07|AI 主导的自动化任务体系:检查、部署、回滚、合规

这是本篇最关键的内容之一。

自动化不只是"生成配置",而是完整生命周期管理

我给你一个 Cisco + Huawei 通用的自动化"任务流水线"。

(1)预检查(validate.yml)

AI 生成的 validate.yml 包括:

  • VLAN ID 越界
  • ACL 冲突检测
  • NAT 冲突(inside/outside)
  • OSPF 区域冲突
  • BGP ASN 检查
  • 厂商兼容性(CE、IOS、XRV、NE、AR 全判断)
  • 模板变量缺失
  • required keys / type checking

示例(YAML):

  • name: Validate VLAN ID range

assert:

that:

AI 会自动生成针对不同任务的校验。

(2)dry-run(check_mode)

AI 会确保:

ansible-playbook xxx.yml --check --diff

能完整展示:

  • 即将写入的命令
  • 移除的命令
  • 变更范围

这是大型企业真正关心的,而不是"能不能跑"。

(3)部署(deploy.yml)

AI 会确保:

  • 幂等
  • 正确 vendor module
  • 自动 CLI 事务性顺序
  • 自动分段推送(大配置)
  • 使用 best practice 的模块(cisco.ios.ios_config、community.network.ce_config)

部署示例:

  • name: Apply VLAN (Cisco)

cisco.ios.ios_config:

lines: "{{ lookup('template', 'cisco_ios/vlan.j2') }}"

diff: true

backup: true

Huawei 类似。

(4)自动回滚(rollback.yml)

AI 自动生成撤销命令:

Cisco:

no vlan 210

Huawei:

undo vlan 210

回滚是:

ansible-playbook vlan_rollback.yml

这部分是传统模板无法做到的,而 AI 可以轻松生成。

(5)合规检查(Compliance)

AI 会自动生成:

  • min/max 的规范
  • naming convention
  • ACL 全局冲突
  • 接口速率一致性
  • MTU 校验
  • BGP 邻居状态检查
  • VLAN 未使用检测(与 telemetry 联动)

完整合规报告:

compliance/report_HQ_2025-01-10.json

这是后 AI 时代的"基础设施即策略"(IaC + Compliance)。

08|如何用 AI 维持一个"可长期存活"的自动化仓库(真正核心)

你写这篇的终极目的不是告诉读者"AI 能写模板",而是:

AI 能让自动化体系长期不腐烂、不老化、不崩溃。

你必须给读者一套"运营指南"(这部分含金量非常高)。

(1)AI 负责:重复性维护工作

AI 自动完成:

  • 模板更新
  • Playbook 增量补丁
  • 多厂商逻辑同步
  • 意图文件生成
  • 合规规则更新
  • 自动补文档
  • 任务链路检查

人类只负责:

  • 定义意图
  • 审核策略
  • 批准部署

工程成本骤降。

(2)AI 保证:仓库结构不腐烂

传统自动化仓库的问题:

  • 角色混乱
  • 模板逻辑污染
  • 变量不统一
  • 同类设备文件重复

AI 通过规则保证目录结构永远一致。

(3)AI 驱动的"自动化 CI/CD"

你要告诉读者:

未来不是"配置即代码"(Git),而是:

配置即策略 + 模板即模型 + AI 即对齐器

AI 做的 CI/CD 包括:

  • intent → schema 校验
  • template → syntax 检查
  • playbook → 幂等验证
  • diff → 合规检查
  • alarm → telemetry 像 SRE 体系

(4)AI 是"自动化的自动化"(核心金句)

传统自动化是降低"执行成本"。

AI 自动化的作用是降低"维护成本"。

这句话写在专栏里会成为你的招牌观点。

附录:全流程示例(VLAN / ACL / OSPF / BGP / VXLAN / QoS)

我将提供一个完整例子(示例略写,Part 3 全文展开):

输入自然语义:

"在总部接入层为办公区新增 VLAN 210--221,Cisco 和 Huawei 都要,命名 office_xxx,生成配置和 Playbook。"

AI 生成 intent

→ 数据模型

→ 校验

→ vendor 映射

→ 模板

→ Playbook

→ 合规

→ 回滚

→ 文档

一个命令:

ansible-playbook playbooks/vlan_create.yml

就完成全链路部署。

09|完整实战案例:VLAN 自动化(Cisco/Huawei 全链路)

① 输入自然语义

在总部接入层新增办公 VLAN 210--221,命名 office_xxx,Cisco 和 Huawei 设备都要生成配置。

② AI 生成意图文件(Intent File)

task: create_vlans

site: HQ

vendor_targets:

  • cisco_ios

  • huawei_vrp

vlans:

  • { id: 210, name: office_210 }

  • { id: 211, name: office_211 }

...

  • { id: 221, name: office_221 }

deploy_mode:

check: true

enforce: true

③ AI 生成数据模型

  • VLAN ID 校验(1--4094)
  • 命名规则校验
  • 重复 VLAN 检查
  • 多厂商映射规则应用(Cisco / Huawei)

④ 模板生成(Jinja2)

Cisco IOS 模板

vlan {{ id }}

name {{ name }}

Huawei VRP 模板

vlan {{ id }}

description {{ name }}

模板目录规范:

roles/vlan/templates/

cisco_ios/vlan.j2

huawei_vrp/vlan.j2

⑤ Playbook 生成

playbooks/vlan_create.yml

  • name: Create VLANs (multi-vendor)

hosts: "{{ site }}"

gather_facts: no

vars_files:

  • "../intent/create_vlans.yml"

roles:

  • vlan
  • 幂等性保证
  • check_mode / diff 模式
  • rollback 模板关联

⑥ Dry-run / 差异检查

ansible-playbook playbooks/vlan_create.yml --check --diff

输出示例:

VLAN 210 will be created on Cisco IOS: vlan 210 name office_210

VLAN 210 will be created on Huawei VRP: vlan 210 description office_210

  • 没有真实变更,确保可控
  • AI 自动生成 diff 报告

⑦ 部署

ansible-playbook playbooks/vlan_create.yml

  • 自动执行 role/tasks/deploy.yml
  • 自动生成日志 / backup
  • 同步更新配置仓库

⑧ 回滚

如果部署异常,AI 自动生成 rollback.yml:

ansible-playbook playbooks/vlan_rollback.yml

  • Cisco: no vlan 210
  • Huawei: undo vlan 210

这就是全链路自动化的核心价值:Intent → Template → Playbook → diff → deploy → rollback → 文档

10|ACL 自动化(字段解析 + 冲突检测 + 策略排序)

① 自然语义输入

总部 ACL PROD: 允许 TCP 443,禁止所有其他流量,Cisco/Huawei 自动生成。

② AI 生成意图文件

task: create_acl

acl_name: PROD

entries:

  • { action: permit, proto: tcp, dst_port: 443, src: any, dst: any }

  • { action: deny, proto: ip, src: any, dst: any }

vendor_targets:

  • cisco_ios

  • huawei_vrp

③ AI 自动解析字段

  • 协议名称
  • 源/目的 IP
  • 端口范围
  • 顺序(优先级)

④ 厂商映射

  • Cisco:使用 ACL 名称和序列号
  • Huawei:ACL 编号 + sequence

⑤ 模板与 Playbook

  • Cisco: cisco.ios.ios_config
  • Huawei: community.network.ce_config

⑥ 冲突检测与排序

  • ACL 规则自动排序
  • 与现有 ACL 冲突检查
  • AI 自动提示冲突点

11|OSPF 自动化(区域划分、LSA 控制、厂商差异)

① 自然语义输入

总部与分支采用 OSPF 区域划分: HQ 区域 0,Branch 区域 1,Cisco/Huawei 自动生成配置。

② 意图层生成

task: configure_ospf

areas:

0: HQ

1: Branch

interfaces:

  • { name: Gig0/0, area: 0 }

  • { name: Gig0/1, area: 1 }

vendor_targets:

  • cisco_ios

  • huawei_vrp

③ AI 自动生成模板

  • Cisco IOS: router ospf 1 ... network ... area ...
  • Huawei VRP: ospf 1 area ...

④ LSA 控制 & 验证

  • LSA 类型 / 广播控制
  • AI 自动生成 OSPF 验证 playbook:邻居状态检查

12|BGP 自动化(prefix-set、route-policy、厂商差异)

① 自然语义输入

总部 BGP ASN 65000 与 ISP 65010 建立 EBGP,广告 10.0.0.0/24,Cisco/Huawei 自动生成策略。

② 意图文件

task: configure_bgp

local_as: 65000

neighbor_as: 65010

prefixes:

  • 10.0.0.0/24

vendor_targets:

  • cisco_ios

  • huawei_vrp

③ AI 自动生成策略

  • Prefix-list / route-policy 自动映射
  • 序列号自动生成
  • 差异化 CLI 自动调整

13|VXLAN Fabric / EVPN 自动化(数据中心级)

  • Intent 文件:VNI、BD、VTEP
  • AI 自动生成 Cisco Nexus / Huawei CloudEngine VXLAN 配置
  • 自动处理 BGP EVPN overlay / underlay 配置
  • 自动生成验证 playbook(ping、MAC table、ARP table)

14|QoS 自动化(Cisco/Huawei/Juniper 差异)

  • 输入自然语义:为语音和视频生成 EF/AF 优先级
  • AI 自动生成策略模板:
    • Cisco MQC / class-map / policy-map
    • Huawei traffic classifier / traffic behavior / traffic policy
    • Juniper firewall filter / forwarding-class
  • 自动生成 playbook / rollback / diff

15|总结:AI 驱动的下一代网络自动化体系架构

  • 自然语义 → 意图层 → 数据模型 → 模板 → Playbook → diff → 部署 → 回滚 → 文档
  • 多厂商统一语义映射是核心价值
  • 全生命周期自动化:校验、部署、回滚、合规、文档
  • 工程化约束保证长期可维护、幂等、清晰
  • AI 的价值是自动化的自动化,不仅降低部署成本,更降低维护成本
  • 网络工程师角色升级:从写命令 → 审核意图 → 审批策略 → 战略级监控

这一篇完整展示了 AI + Jinja2/Ansible 在 Cisco/Huawei 网络全链路自动化中的实际应用 。在网络工程中,无自动化不网工。自动化是入门合格的标志,自数年前某认证加入脚本课程的时候就决定了这一标志。

(文:陈涉川)

2025年12月2日

相关推荐
ZhengEnCi34 分钟前
一次多线程同步问题的排查:从 thread_count 到 thread.join() 的踩坑之旅
python·网络协议·tcp/ip
亚里随笔37 分钟前
MiniRL:用LLM稳定强化学习的新范式与第一阶近似理论
人工智能·深度学习·机器学习·llm·rlhf·agentic
飞行增长手记38 分钟前
IP协议从跨境到物联网的场景化应用
服务器·前端·网络·安全
Token_w38 分钟前
我的openEuler云原生与AI开发现实际体验
人工智能·云原生
xiaocao_102339 分钟前
鸿蒙手机上使用的备忘录怎么导出来?
华为·智能手机·harmonyos
free-elcmacom41 分钟前
用Python玩转GAN:让AI学会“造假”的艺术
人工智能·python·机器学习
万邦科技Lafite1 小时前
API接口地址解析地区码操作指南
网络·数据库·redis·缓存·开放api·电商开放平台
oxygen-12041 小时前
https nginx步骤
网络协议·http·https
瀚高PG实验室1 小时前
如何将HGDB安全版(RPM包形式)安装在非root用户下
服务器·网络·安全·瀚高数据库