魔珐星云SDK实战测评:从0到1搭建会“思考+互动”的智能数字人客服应用

魔珐星云SDK实战测评:从0到1搭建会"思考+互动"的智能数字人客服应用

在AI技术普及的今天,我们早已习惯与ChatGPT聊方案、用MidJourney画海报,但这些交互始终停留在"平面",无法像真人一样通过表情、动作传递情绪。直到接触魔珐星云,我才发现:原来3D数字人开发可以如此简单,甚至能让普通开发者在1小时内,搭建出"会说话、会动、会思考"的智能数字人应用。

一、平台初体验:从"注册"到"上手"仅需5分钟

魔珐星云是魔珐科技推出的具身智能3D数字人开放平台,核心是让AI拥有"身体"与"多模态交互能力"。先从最基础的"注册-体验"流程说起,新手也能轻松跟上。

1.1 注册与积分:免费资源足够入门

打开魔珐星云官网,点击右上角"登录",支持手机号、微信、企业邮箱等方式注册。完成注册后,系统自动赠送100积分(输入邀请码还能额外获得1000积分),积分可用于体验中心的功能测试、SDK调用等,足够完成入门级开发。

1.2 开发者中心:功能模块一目了然

登录后进入控制台,界面分为三大核心模块:

  • 体验中心:可以体验具身驱动、视频生成、语音生成等功能;
  • 应用管理*:选择/定制数字人形象(超写实、二次元、卡通等风格);
  • 文档中心:提供SDK接入指南、API接口文档、Demo代码库,新手可直接复制代码。

1.3 体验中心:先"玩"再"开发",降低试错成本

如果对"具身智能"没概念,建议先去体验中心实操:

  • 具身驱动 :输入文本(如"你好,介绍下魔珐星云"),数字人会实时生成语音+表情+手势+身体动作,甚至能还原"挑眉""点头"等微表情,交互感堪比真人;

我测试了"具身驱动"功能:输入"今天天气不错,要不要一起去公园?",数字人不仅用自然的语气回应,还配合了"摊手"的手势和"微笑"的表情,连眼神都跟着说话节奏转动,完全没有传统数字人的"机械感"。

  • 视频生成:上传PPT/输入文案,一键生成3D数字人视频,自动匹配场景、灯光、3D运镜,无需剪辑;

选择场景,配置脚本,就可以生成视频:

上传自己的文档,自动制作ppt

  • 语音克隆:上传20秒真人音频,即可克隆出相同音色的语音,支持多语种、多情绪(开心/严肃/温柔)。

二、核心优势拆解:为什么魔珐星云能打破"不可能三角"?

传统3D数字人开发有个"不可能三角":高质量(自然)、低延时(实时)、低投入(成本),三者无法同时满足。而魔珐星云通过六大技术优势,把"不可能"变成了"常态化"。

2.1 高质量:数字人细节堪比真人

  • 形象精细度:支持超写实、二次元等风格,皮肤纹理、头发丝、服饰褶皱等细节逼真,甚至能还原"皮肤反光""头发飘动"的物理效果;
  • 多模态同步:语音、表情、动作高度协同,比如说到"开心"时,数字人会自动"嘴角上扬+眼神发亮",说到"疑惑"时会"皱眉+歪头",避免了"语音和动作脱节"的尴尬;
  • 风格多样性:覆盖超写实、二次元、卡通、美型等10+风格,还能自定义发型、服饰、妆容,满足不同场景需求(比如企业客服用商务风,游戏NPC用二次元风)。
  • 系统稳定,支持高并发 :支持千万级并发,系统稳定

2.2 低延时:交互感和真人聊天无差异

  • 语音合成延时:小模型TTS延时约100ms,大模型约500ms,远低于行业平均的2-3秒;
  • 中途打断功能:支持"用户随时插话",比如数字人正在介绍功能,用户突然问"能生成视频吗?",数字人会立刻停止当前内容,切换到新话题,完全模拟真人对话逻辑;
  • 端侧渲染优化 :采用AI实时端侧渲染,无需依赖GPU,入门级芯片(如RK3566)也能流畅运行,避免了"高端硬件才能用"的门槛。

2.3 低投入:个人开发者也能承担的成本

  • 硬件成本为0:无需购买动捕设备、GPU服务器,直接用普通电脑/手机即可开发;
  • 技术门槛低:SDK提供封装好的API,无需掌握3D建模、动画绑定等专业技能,会基础代码就能开发;
  • 免费资源充足:新用户赠送的积分足够完成100+次交互测试,企业级服务按调用量计费,成本仅为传统方案的1/10。
  • 兼容性强:支持多终端环境,覆盖手机、电脑、平板、电视、多屏等多终端环境

三、SDK深度实战:1小时搭建"智能数字人客服"应用

接下来以**"智能数字人客服"**为例,详细讲解从"创建应用"到"本地运行"的全流程,新手也能跟着做。

3.1 创建应用,获取开发凭证

  1. 进入开发者中心→"应用管理"→"创建应用",填写应用名称(如"小爱")、描述、所属行业;
  1. 应用创建完成后,点击"查看详情",复制SDK App Id秘钥(后续开发需要用到);

  2. 进入"数字人配置",选择数字人形象(我选了"二次元机能少女"),调整发型为"低马尾"、服饰为"商务西装",保存配置。

选择场景、音色、表演等

3.2 多模态交互的配置

  • 虚拟人 SDK 配置

    在我们体验自己的3D数字人界面可以看到虚拟人的SDK配置

  • 语音识别配置

    本文选择腾讯云的ASR示范,复制连接参数ASR App ID、ASR Secret ID、ASR Secret Key

  • 大语言模型配置

    选择火山方舟系的大模型,可以从火山方舟获取参数

    再创建一个API key

3.3 编程实现功能

项目是一个基于Vue 3 + TypeScript + Vite构建的智能虚拟人交互演示应用,集成了语音识别、大语言模型和虚拟人SDK,提供完整的交互体验。下面从核心模块和关键代码实现进行详细说明。

创建项目

shell 复制代码
# 创建项目(pnpm为例,npm/yarn同理)
npm create vite vue-xingyun-ai-customer-service --template vue-ts

# 进入项目目录
cd vue-xingyun-ai-customer-service

# 安装基础依赖
npm install

项目结构

复制代码
魔珐星云AI客服/
vue-xingyun-ai-customer-service/
├── .gitignore                 # Git忽略文件配置
├── index.html                 # 入口HTML文件
├── package.json               # 项目依赖配置
├── package-lock.json          # 依赖版本锁定文件
├── README.md                  # 项目说明文档
├── README.en.md               # 英文说明文档
├── vite.config.js             # Vite配置文件
├── src/
│   ├── main.ts                # 应用入口文件
│   ├── App.vue                # 根组件
│   ├── styles/
│   │   └── main.css           # 全局样式
│   ├── services/              # 服务层
│   │   ├── llm.service.js     # 豆包大模型服务封装
│   │   └── xingyun.service.js # 魔珐星云SDK服务封装
│   ├── components/            # 业务组件
│   │   └── CustomerService.vue # 客服主组件
│   ├── config/                # 配置文件
│   └── utils/                 # 工具函数
└── dist/                      # 构建输出目录(执行build后生成)

引入魔珐星云SDK

在 index.html 中引入SDK脚本,这是最关键的一步:

  • SDK通过CDN方式引入,@latest是自动获取最新版本

  • 必须在 <body> 标签内引入,确保DOM已加载

  • SDK引入后会在全局注册 XmovAvatar 类

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8">
    <!-- 设置视口,确保在不同设备上正确显示 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 页面标题 -->
    <title>魔珐星云AI客服</title>
    <!-- 引入魔珐星云SDK(必须) -->
    <script src="https://media.xingyun3d.com/xingyun3d/general/litesdk/xmovAvatar@latest.js"></script>
  </head>
  <body>
    <!-- Vue应用的挂载点,id必须与main.js中的选择器一致 -->
    <div id="app"></div>
    <!-- 由Vite构建工具自动注入模块化脚本 -->
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

魔珐星云SDK服务封装(src/services/xingyun.service.js)

javascript 复制代码
/**
 * 魔珐星云SDK服务封装
 * 用于初始化3D数字人、控制数字人动作和语音
 * 参考官方文档:https://xingyun3d.com/developers/52-183
 */
class XingYunService {
  constructor() {
    this.sdkInstance = null;       // 星云SDK实例
    this.isInitialized = false;    // SDK初始化状态标记
    this.containerId = 'avatar-container'; // 数字人渲染容器ID
  }

  /**
   * 初始化星云SDK
   * @param {Object} config - 配置参数对象
   * @param {string} config.appId - 应用ID(从魔珐平台获取)
   * @param {string} config.appSecret - 应用密钥(从魔珐平台获取)
   * @param {Function} config.onStateChange - 状态变化回调
   * @param {Function} config.onSubtitle - 字幕显示回调
   * @returns {boolean} 初始化是否成功
   */
  async initSDK(config) {
    try {
      // 检查SDK是否已加载,未加载则动态加载
      if (!window.XmovAvatar) {
        await this.loadSDKScript();
      }

      // 创建SDK实例
      this.sdkInstance = new window.XmovAvatar({
        containerId: `#${this.containerId}`,  // 数字人渲染容器
        appId: config.appId,                  // 应用ID
        appSecret: config.appSecret,          // 应用密钥
        gatewayServer: 'https://nebula-agent.xingyun3d.com/user/v1/ttsa/session', // 网关服务器地址
        
        // 数字人状态变化回调
        onStateChange: (state) => {
          console.log('数字人状态变化:', state);
          if (config.onStateChange) config.onStateChange(state);
        },
        
        // 语音状态变化回调
        onVoiceStateChange: (status) => {
          console.log('语音状态:', status);
          if (config.onVoiceStateChange) config.onVoiceStateChange(status);
        },
        
        // 字幕显示事件回调
        onWidgetEvent: (data) => {
          console.log('[SDK Widget事件]', data);
          // 当有字幕显示时触发
          if (data.type === 'subtitle_on' && config.onSubtitle) {
            config.onSubtitle(data.text);
          } 
          // 当字幕结束时触发
          else if (data.type === 'subtitle_off' && config.onSubtitleEnd) {
            config.onSubtitleEnd();
          }
        },

        // 开发环境启用日志
        enableLogger: process.env.NODE_ENV === 'development'
      });

      // 初始化连接,加载数字人资源
      await this.sdkInstance.init({
        // 资源加载进度回调
        onDownloadProgress: (progress) => {
          console.log('资源加载进度:', progress + '%');
          if (config.onProgress) config.onProgress(progress);
        },
        // 错误回调
        onError: (error) => {
          console.error('初始化错误:', error);
          if (config.onError) config.onError(error);
        },
        // 连接关闭回调
        onClose: () => {
          console.log('连接已关闭');
          if (config.onClose) config.onClose();
        }
      });

      this.isInitialized = true;
      console.log('魔珐星云SDK初始化成功');
      return true;
    } catch (error) {
      console.error('初始化SDK失败:', error);
      throw error; // 抛出错误供调用者处理
    }
  }

  /**
   * 动态加载SDK脚本
   * 从官方CDN加载最新版本的魔珐星云SDK
   * @returns {Promise} 加载成功/失败的Promise
   */
  loadSDKScript() {
    return new Promise((resolve, reject) => {
      const script = document.createElement('script');
      script.src = 'https://media.xingyun3d.com/xingyun3d/general/litesdk/xmovAvatar@latest.js';
      script.onload = resolve;  // 加载成功回调
      script.onerror = reject;  // 加载失败回调
      document.head.appendChild(script);  // 添加到页面
    });
  }

  /**
   * 让数字人说话
   * @param {string} text - 要说的文本内容(支持SSML格式)
   * @param {boolean} isStart - 是否为一段新的语音开始
   * @param {boolean} isEnd - 是否为一段语音的结束
   */
  speak(text, isStart = true, isEnd = true) {
    // 检查SDK是否已初始化
    if (!this.isInitialized || !this.sdkInstance) {
      throw new Error('SDK未初始化,请先调用initSDK方法');
    }
    // 调用SDK的speak方法
    this.sdkInstance.speak(text, isStart, isEnd);
  }

  /**
   * 让数字人说话并执行指定动作
   * 使用SSML格式控制数字人动作和语音
   * @param {string} text - 说话内容
   * @param {string} action - 动作类型(如Hello、Agree等)
   */
  speakWithAction(text, action = 'Hello') {
    // 构建包含动作指令的SSML
    const ssml = `
<speak>
  <ue4event>
    <type>ka</type>
    <data>
      <action_semantic>${action}</action_semantic>  <!-- 动作指令 -->
    </data>
  </ue4event>
  ${text}  <!-- 说话内容 -->
</speak>`;
    // 调用speak方法发送SSML
    this.speak(ssml, true, true);
  }

  /**
   * 断开数字人连接并销毁实例
   */
  disconnect() {
    if (this.sdkInstance) {
      this.sdkInstance.stop();    // 停止数字人
      this.sdkInstance.destroy(); // 销毁实例
      this.sdkInstance = null;
      this.isInitialized = false;
    }
  }

  /**
   * 获取数字人支持的动作列表
   * 实际应用中可通过星云平台API获取更多动作
   * @returns {Array} 动作列表
   */
  getSupportedActions() {
    return ['Hello', 'Goodbye', 'Agree', 'Disagree', 'Think', 'Explain'];
  }
}

// 导出单例实例
export default new XingYunService();

AI对话服务(src/services/llm.service.js)

javascript 复制代码
import { OpenAI } from 'openai';  // 导入OpenAI SDK

// 初始化OpenAI客户端
const openai = new OpenAI({
  apiKey: import.meta.env.VITE_OPENAI_API_KEY,  // 从环境变量获取API密钥
  baseURL: import.meta.env.VITE_OPENAI_BASE_URL, // 可选:自定义API地址
  timeout: 60000,  // 超时时间设置为60秒
});

/**
 * 发送消息并获取流式响应
 * 用于实现AI客服的实时对话功能
 * @param {string} userMessage - 用户输入的消息
 * @param {string} systemPrompt - 系统提示词,用于定义AI角色
 * @returns {AsyncGenerator} 异步生成器,逐块返回AI响应
 */
async function* sendMessageStream(userMessage, systemPrompt = '你是一个专业的AI客服助手。') {
  // 构建对话消息数组
  const messages = [
    { role: 'system', content: systemPrompt },  // 系统提示
    { role: 'user', content: userMessage }       // 用户消息
  ];

  try {
    // 调用OpenAI API获取流式响应
    const stream = await openai.chat.completions.create({
      model: 'doubao-1-5-pro-32k-250115',  // 使用的模型名称
      messages: messages,                  // 对话历史
      stream: true,                        // 启用流式响应
    });

    // 遍历流式响应的每个chunk
    for await (const chunk of stream) {
      // 提取当前chunk的内容(处理可能的空内容)
      const content = chunk.choices[0]?.delta?.content || '';
      if (content) {
        yield content;  // 产出当前内容块
      }
    }
  } catch (error) {
    console.error('AI请求失败:', error);
    throw error;  // 抛出错误供调用者处理
  }
}

// 导出服务方法
export default {
  sendMessageStream
};

客服交互组件(src/components/CustomerService.vue 核心脚本部分)

html 复制代码
<script setup>
import { ref, onMounted, nextTick } from 'vue';
import XingYunService from '../services/xingyun.service';
import LLMService from '../services/llm.service';

// 状态管理
const chatHistory = ref([]);        // 聊天历史记录
const userInput = ref('');          // 用户输入内容
const selectedAction = ref('');     // 选中的数字人动作
const isLoading = ref(false);       // 加载状态
const progress = ref(0);            // 数字人加载进度
const chatContainer = ref(null);    // 聊天容器DOM引用
const currentSubtitle = ref('');    // 当前显示的字幕

// 数字人支持的动作列表
const actions = ref([
  { value: '', label: '无动作' },
  ...XingYunService.getSupportedActions().map(action => ({
    value: action,
    label: getActionLabel(action)
  }))
]);

// 快速回复选项
const quickReplies = [
  '你能帮我做什么?',
  '如何修改个人信息?',
  '订单查询流程是怎样的?',
  '退换货政策是什么?'
];

/**
 * 组件挂载时初始化数字人服务
 */
onMounted(async () => {
  try {
    // 初始化数字人,传入配置参数
    await XingYunService.initSDK({
      appId: import.meta.env.VITE_XINGYUN_APPID,     // 从环境变量获取appId
      appSecret: import.meta.env.VITE_XINGYUN_SECRET, // 从环境变量获取appSecret
      onProgress: (val) => { progress.value = val; }, // 进度更新
      onStateChange: (state) => {
        if (state === 'ready') {
          addMessage('system', '数字人已准备就绪,有什么可以帮助您的吗?');
        }
      },
      onSubtitle: (text) => { currentSubtitle.value = text; }, // 显示字幕
      onSubtitleEnd: () => { currentSubtitle.value = ''; }     // 清除字幕
    });
  } catch (error) {
    console.error('初始化失败:', error);
    addMessage('system', '初始化数字人服务失败,请刷新页面重试。');
  }
});

/**
 * 发送消息处理函数
 */
const sendMessage = async () => {
  // 验证输入不为空
  if (!userInput.value.trim()) return;
  
  const text = userInput.value;
  // 添加用户消息到历史记录
  addMessage('user', text);
  isLoading.value = true;

  try {
    // 获取AI流式响应
    const aiStream = LLMService.sendMessageStream(text);
    
    let aiReply = '';
    // 逐块处理AI响应
    for await (const chunk of aiStream) {
      aiReply += chunk;
      // 实时更新AI回复(这里简化处理,实际可优化为增量更新)
    }
    
    // 发送完成后添加AI回复到历史记录
    addMessage('ai', aiReply);
    
    // 根据选择的动作类型让数字人说话
    if (selectedAction.value) {
      XingYunService.speakWithAction(aiReply, selectedAction.value);
    } else {
      XingYunService.speak(aiReply, true, true);
    }
  } catch (error) {
    addMessage('system', '获取回复失败,请重试');
    console.error('消息处理失败:', error);
  } finally {
    // 重置输入状态
    userInput.value = '';
    selectedAction.value = '';
    isLoading.value = false;
  }
};

/**
 * 发送快速回复消息
 * @param {string} text - 快速回复的内容
 */
const sendQuickMessage = (text) => {
  userInput.value = text;
  sendMessage();
};

/**
 * 添加消息到聊天历史
 * @param {string} type - 消息类型(user/ai/system)
 * @param {string} content - 消息内容
 */
const addMessage = (type, content) => {
  const now = new Date();
  // 格式化时间为HH:MM
  const time = `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}`;
  
  // 添加消息到历史记录
  chatHistory.value.push({
    type,
    content,
    time
  });
  
  // 确保DOM更新后滚动到底部
  nextTick(() => {
    if (chatContainer.value) {
      chatContainer.value.scrollTop = chatContainer.value.scrollHeight;
    }
  });
};

/**
 * 获取动作的中文标签
 * @param {string} action - 动作英文标识
 * @returns {string} 中文标签
 */
const getActionLabel = (action) => {
  const labels = {
    'Hello': '招手问候',
    'Goodbye': '挥手告别',
    'Agree': '点头赞同',
    'Disagree': '摇头否定',
    'Think': '思考动作',
    'Explain': '解释说明'
  };
  return labels[action] || action;
};
</script>

配置密钥

CustomerService.vue 中替换:

typescript 复制代码
  const config = {
    appId: 'YOUR_APP_ID',      // 替换为你的App ID
    appSecret: 'YOUR_APP_SECRET', // 替换为你的App Secret
    // ...
  }

这些代码文件构成了项目的核心功能:

  1. 数字人服务封装了魔珐星云SDK的初始化、动作控制和语音合成
  2. AI对话服务实现了与大语言模型的流式交互
  3. 客服组件则整合了上述服务,提供了完整的用户交互界面

整个项目代码地址:https://gitee.com/nickygitee/vue-xingyun-ai-customer-service

3.4 启动AI客服应用,测试交互效果

  1. 终端执行npm run dev,启动本地服务;
  2. 打开浏览器,输入localhost:5173,进入数字人助手界面;
  3. 测试交互:
    • 文字输入:"明天北京天气怎么样?",数字人会先调用天气API获取数据,再用自然的语音+动作回答;
    • 语音输入:点击麦克风,说"帮我生成一个周末旅行计划",数字人会生成计划,同时配合"手势比划"的动作。

我测试了文字输入的,输入"你好呀",3D数字人客服会回答,说话时有手势配合的动作,就像真人在面对面推荐。

四、应用场景落地:魔珐星云能解决哪些实际问题?

魔珐星云的应用场景覆盖千行百业,无论是个人开发者还是企业用户,都能找到适配的方向。我整理了 4 个典型落地案例,带大家感受具身智能的价值:

4.1 个人开发者:打造专属 AI 伙伴

依托魔珐星云的低门槛优势,个人开发者可快速搭建轻量级应用:

  • AI 陪伴助手:接入情感分析 API,数字人能根据用户语气调整回应方式,比如用户说 "今天工作好累",数字人会 "温柔安慰 + 推荐放松方法",配合 "轻拍肩膀" 的动作,传递情绪价值;

  • 英语陪练助手:数字人可模拟外教对话,实时纠正发音错误,还会用 "手势演示" 辅助讲解语法,比如用 "比划时态时间轴" 的方式解释 "过去时与现在完成时的区别"。

4.2 企业服务:降本增效的数字员工

  • 智能客服:部署在企业官网或 APP 中,数字人可解答售前咨询(如 "产品价格""售后政策"),支持 "7×24 小时服务",企业客服成本降低 60%,用户响应时间缩短至 1 秒;

  • AI 面试官:模拟真实面试场景,数字人会根据岗位需求提问(如产品经理岗位会问 "如何设计一款社交 APP"),实时记录回答要点,面试后自动生成评估报告,企业招聘筛选效率提升 40%。

4.3 公共服务:24 小时在线的服务窗口

  • 医院导诊员:部署在医院大厅大屏,患者可语音咨询 "内科门诊位置""医保报销流程",数字人会用 "手势指向方向" 配合讲解,还会演示 "线上挂号步骤",老年人也能轻松理解;

  • 车站咨询员:实时解答 "车次查询""退票政策" 等问题,高峰时段可同时服务上千名旅客,避免人工窗口排队拥堵。

4.4 虚拟 IP 与游戏:让静态角色 "活" 起来

  • 虚拟偶像互动:为静态 IP 角色(如动漫角色、游戏皮肤)注入交互能力,粉丝可与虚拟偶像实时聊天、合拍视频,还能观看偶像 "即兴表演",提升 IP 商业价值;

  • 智能游戏 NPC:传统游戏 NPC 仅能按固定脚本回应,而魔珐星云驱动的 NPC 能 "自主思考",比如玩家问 "这个副本怎么打",NPC 会根据玩家等级推荐策略,还会用 "拔剑演示" 的方式讲解技巧,游戏沉浸感大幅提升。

五、总结:具身智能的"平民化"时代来了

魔珐星云的核心价值,是把"专业级3D数字人开发"变成了"人人可及的工具"------无需昂贵硬件、不用专业技能,普通开发者也能在1小时内,搭建出"会说话、会动、会思考"的数字人应用。

如果你也想体验"给AI安上身体"的乐趣,不妨从魔珐星云的体验中心开始,说不定下一个改变行业的数字人应用,就出自你手中!

魔珐星云体验页面:【点击进入

相关推荐
智算菩萨6 分钟前
【How Far Are We From AGI】4 AGI的“生理系统“——从算法架构到算力基座的工程革命
论文阅读·人工智能·深度学习·算法·ai·架构·agi
紫丁香10 分钟前
Dify源码深度剖析3
后端·python·ai·flask·fastapi
supersolon20 分钟前
OpenClaw安装碰到的一些问题和解决方法
linux·运维·ai·openclaw·龙虾
啊阿狸不会拉杆29 分钟前
《现代人工智能基础》个人解读分享
人工智能·ai·llm·aigc·agent·ml·dl
iMingzhen34 分钟前
不想引入 Redis,我用一张 SQLite 表实现了消息队列
数据库·redis·ai·sqlite
前端摸鱼匠41 分钟前
面试题2:Transformer的Encoder、Decoder结构分别包含哪些核心组件?
人工智能·深度学习·ai·面试·职场和发展·transformer
腾视科技TENSORTEC1 小时前
安全驾驶 智在掌控|腾视科技ES06终端,为车辆运营赋能
大数据·人工智能·科技·安全·ai·车载系统·车载监控
智算菩萨1 小时前
与AI一起记忆:从分布式记忆到AI策划记忆与人机共忆——文献精读
论文阅读·人工智能·分布式·深度学习·ai·文献
云和数据.ChenGuang10 小时前
魔搭社区 测试AI案例故障
人工智能·深度学习·机器学习·ai·mindstudio
GJGCY14 小时前
中小企业财务AI工具技术评测:四大类别架构差异与选型维度
大数据·人工智能·ai·架构·财务·智能体