前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >网易云信IM讲解

网易云信IM讲解

作者头像
我乃小神神
发布于 2019-07-02 06:14:45
发布于 2019-07-02 06:14:45
3.3K00
代码可运行
举报
文章被收录于专栏:前端基础前端基础
运行总次数:0
代码可运行

版权声明:原创不易,多多珍惜 https://cloud.tencent.com/developer/article/1454561

本按钮只针对H5版本讲解,前端部分

网易云信H5地址下载

1 demo下载

  • 首先下载当前当前demo,并本地运行,由于网易云信提供的是采用的是node中间件的模式,所以你如果直接运行 npm run dev 是运行的打包命令,你需要运行 npm run server,来运行他当前的demo
  • 首先去网易云信控制端注册 注册完成之后,进入控制台,获取APPkey,因为这个是需要进行唯一通信的标识,把你当前的下载下来的demo,appkey 换成你申请的APPkey
  • 由于你不能直接引用他的代码,所以你需要先创建一下你自己的项目 注意,vue版本不限制,vuecli 的版本需要是2.x 由于该demo引入的ui组件目前不支持vue cli3 所以你只能安装vue cli2,webpack版本不限制,vux文档地址 ##2 创建自己项目
  • 然后创建你的项目,vue2.x 的创建项目的方式是
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install --global vue-cli
/*
*全局安装脚手架
*/
vue init webpack my-project
/*
*创建基于webpack的项目,vuecli3 不是此方式注意
*后面就是npm run dev 跑起你的项目
*/
  • 然后最简单的方式就是把当前云信项目下面的 Src目录下的所有复制到你的项目中,当然你直接运行肯定会出问题,所以你可以先复制过去但是别加路由,先走你自己的登陆流程
    • 你自己的请求登陆的流程无非就是,根据用户名,密码,进行与后端交互,然后后端 返回你一些需要的东西,
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  login () {
     /*
	 * 这里就是你需要做的一系列的登陆逻辑
	 * 然后下面的代码是需要成功的时候去执行的东西
	 * 他的demo 是用了md5加密了,你真实的逻辑就不用去进行加密
	  /
      let sdktoken = md5(this.password)
      cookie.setCookie('uid', this.account.toLowerCase())
      cookie.setCookie('sdktoken', sdktoken)
      kk = config.homeUrl
	  /*
	  *注意Cookie在浏览器端是ok 的,但是如果你需要打包成app 你需要替换成 localStorage,不然你
	  *后面的所有操作都无法进行,你只需要全局替换 几个地方,第一就是所有的
	  */
	   cookie.setCookie('uid') cookie.setCookie('sdktoken')包含这2个地方全部替换成
	   localStorage
	   /*
	   *接下来你就去走你的逻辑,你可以console.log()打印一下你console.log(this.account.toLowerCase())里面的
	   *值,这些就是触发sdk里面的方法
    },

3 引入项目修改配置

  • 然后接下来可以直接复制他的代码入你的项目中,但是需要注意几个事情
  • 注意vux 的编码格式,需要在webpac里面配置
  • 打开webpack.base.conf.js 修改配置,可以参考vux配置地址,具体根据文档参考,以下是我配置修改的代码,可参考
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
// vux 必需品
// 原来的 webpack.base.js 配置
const vuxLoader = require('vux-loader')
const webpackConfig = {
  context: path.resolve(__dirname, '../'),
  entry: {
  	app: './src/main.js'
  },
  output: {
  	path: config.build.assetsRoot,
  	filename: '[name].js',
  	publicPath: process.env.NODE_ENV === 'production' ?
  		config.build.assetsPublicPath : config.dev.assetsPublicPath
  },
  resolve: {
  	extensions: ['.js', '.vue', '.json', '.less'],
  	modules: [
  		resolve('src'),
  		resolve('node_modules')
  	],
  	alias: {
  		'vue$': 'vue/dist/vue.esm.js',
  		'@': resolve('src'),
  	}
  },
  module: {
  	rules: [{
  			test: /\.vue$/,
  			loader: 'vue-loader',
  			options: vueLoaderConfig,
  		},
  		{
  			test: /\.js$/,
  			loader: 'babel-loader?cacheDirectory=true',
  			include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')],
  		},
  		{
  			test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
  			loader: 'url-loader',
  			options: {
  				limit: 10000,
  				name: utils.assetsPath('img/[name].[hash:7].[ext]')
  			}
  		},
  		{
  			test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
  			loader: 'url-loader',
  			options: {
  				limit: 10000,
  				name: utils.assetsPath('media/[name].[hash:7].[ext]')
  			}
  		},
  		{
  			test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
  			loader: 'url-loader',
  			options: {
  				limit: 10000,
  				name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
  			}
  		},
  		{
  			test: /\.css$/,
  			loader: 'style!css!postcss!postcss-cssnext',
  			include: [resolve('src/themes'), resolve('node_modules/vux/src')]
  		},
  		{
  			test: /\.less$/,
  			loader: 'style!css!less',
  			include: [resolve('src/themes')]
  		},
  	]
  },
  node: {
  	// prevent webpack from injecting useless setImmediate polyfill because Vue
  	// source contains it (although only uses it if it's native).
  	setImmediate: false,
  	// prevent webpack from injecting mocks to Node native modules
  	// that does not make sense for the client
  	dgram: 'empty',
  	fs: 'empty',
  	net: 'empty',
  	tls: 'empty',
  	child_process: 'empty'
  },

}

module.exports = vuxLoader.merge(webpackConfig, {
  options: {},
  plugins: [{
  	name: 'vux-ui'
  }],
  externals: {
  	'vue': 'Vue',
  	'vuex': 'Vuex',
  }
})

function resolve(dir) {
  return path.join(__dirname, '..', dir)
}
  • 修改**.babelrc**编码格式,也就是es6转es5的,还有就是es6中的引入代码的方式的编码,修改一下就可以,以下是修改的代码,可参考
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
"presets": [
 ["env", {
   "modules": "commonjs",
   "targets": {
     "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
   },
 		"loose": true,
 }],
 "stage-2"
],
"plugins": ["add-module-exports","transform-vue-jsx", ["transform-runtime", {polyfill: true}]],
"comments": false
}

4 手动触发SDK请求

  • 如果你第二次登陆之后,获取的还是你的第一次的数据,那么请你不要慌,手动触发一下他的方法就好,不知道怎么去触发?很简单打开vue中的APP.vue页面下面有一句注释可以看看 // 提交sdk连接请求 this.$store.dispatch('connect') this.$store.dispatch('updateRefreshState')
  • 你只需要在登录的时候,也去触发一下这个方法,那么你就可以动态更新到你的数据了

5 跨域解决办法

  • 如果遇到跨域问题,别着急,你有三套解决办法,第一套 webpack 代理,第二套 node 中间件代理,第三套 nigix
  • webpack
代码语言:txt
AI代码解释
复制
- 打开vue项目路径下的  **config** 地址下面的 index.js 中的 **proxyTable**
代码语言:txt
AI代码解释
复制
'/api/\*\*': {    target: 'http://\*\*\*\*\*\*',    changeOrigin: true,    pathRewrite: {    '^/api': ''     }    /\*    \*此处的api 的名字就是代表http://47.110.146.12    \*比如如果你需要去请求数据的时候就是    \*/    	axios.get(api+ '/api/code/img')    			.then(function(response) {    			})    			.catch(function(error) {    				console.log(error);         });    	 /\*此方法的唯一缺陷就是必须后端与前端端口一致,否则还是会报跨域错误   } },
  • node.js
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p myproject  
//创建一个项目
npm install --save-dev http-proxy-middleware
npm install --save express
//安装一下依赖
const express = require('express');
const app = express();
var proxy = require('http-proxy-middleware');

var onProxyReq = function(proxyReq, req, res) {
 // add new header to request
 // proxyReq.setHeader('x-added', 'foobar')
}

var onError = function(err, req, res) {
 console.log('Something went wrong.')
 console.log('And we are reporting a custom error message.')
}

// proxy middleware options
var options = {
   target: 'https://api.server.domain',
   rejectUnauthorized:false,
   changeOrigin: true,
   onProxyReq: onProxyReq, 
   onError: onError,
   logLevel: "debug"
};

// create the proxy (without context)
var exampleProxy = proxy('/api/**',options);
app.use(exampleProxy);

// create the listening
app.listen('3000', function() {
   console.log('[DEMO] Server: listening on port 3000')
});
/*
*解释:
*从前端访问localhost:3000,地址以/api/开始的所有请求转发到https://api.server.domain后端服务
*例如:
*localhost:3000/api/common/info  =>   https://api.server.domain/api/common/info
*/
  • nigix 这个我不是很会,哈哈哈,知道一点 ##6 路由强制验证
  • 如果这些基本都已经ok,但是你突然发现,他路由做了一个强制跳转,就是没有 cookie 的时候,直接跳转到你的登录页面去了,但是如果你第一次进入,肯定是需要进行,注册的,但是你点击注册还是会跳转登录,这个怎么办了,很简单,你在点击注册的时候,传递一个值 这个值得类型,那些都由你自己定义,这个验证强制登录跳转的地方是在 src 目录下面的 store下面的 actions下面的index 以下演示一个列子,肯定有其他办法,这个仅供参考
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function connectNim({state,commit,dispatch}, obj) {
	  let {
		force
	  } = Object.assign({}, obj)
	// 操作为内容页刷新页面,此时无nim实例
	   if(!state.nim || force) {
		let loginInfo = {
			uid: localStorage.getItem('uid'),
			sdktoken:localStorage.getItem('sdktoken'),
		}
		if(!loginInfo.uid) {
			// 无cookie,直接跳转登录页
		let regist=sessionStorage.getItem('registred')
			if(regist==99){
			/*
			*这里这个就是如果当你点击了注册,或者找回密码的时候,会传递一个名为 99 的参数
			*如果点击了,这里就会接收到 值,就不会强制跳转登录,会走你需要的流程,
			*但是你记得登录之后,必须要清除当前的 值,否则会出问题的,不然你下次没有cookie 他也不会跳转
			*到你的登录页面了,
			*此方法仅供参考
			}else{
				kk = '#/login'
			}
		} else {
			console.log("有空")
			// 有cookie,重新登录
			dispatch('initNimSDK', loginInfo)
		}
	}
}

7 图片地址

  • 如果你后端返回的图片地址是一个完整的地址那么你可以忽略此处,如果只是返回了一个IP 地址后半段的地址,那么你就可以看看
代码语言:txt
AI代码解释
复制
- 如果你后端返回了的是 **/upload\_pic/29e10cb1b3de0497b84424c9379a025d?imageView&thumbnail=40z40** 这样一串,然后 你通过云信返回的时候,会前面 多加一个 **HTTP//**我也不知道为啥,云信的客服也不知道为啥,好吧,那就替换Ip 地址, ES6中出了一个判断字符串是否含有另一个字符串的方法  

<img v-if="session.avatar.includes('http:///upload\_pic')" :src="http\_api+session.avatar.slice(7)"> /* *此处就是替换图片地址方法,由于这个是 vue 循环出来的了,不需要你在外面new 一个对象 *来进行,替换,直接采用,http_api dai 代表正确的ip 地址 *但是如果采用此方式,你必须多写2个判断, *因为会存在 3种情况, 1返回的没有 http:///upload_pic *2 会返回一个正确的图片地址 *3 会只返回一个 /upload_pic/29e10cb1b3d 这样的地址,前面没有http *所以如果采用此方式你必须要写三个判断 *或者就是采用另一个方式,获取当前的ip 在进行循环之前进行改变当前的值,来显示当前的图片地址,写一个案例地址 */ let conter = { a: "http:192.168.2.158/img/12", b: 'kkk1', c: 'test1' }, { a: "http:195.168.2.158/img/34", b: 'kkk2', c: 'test' }, { a: "http:192.168.2.158/img/56", b: 'kkk3', c: 'test' } /* *这个模拟后端返回的数据 *先获取当前的ip 地址 window.location.host; *然后再去循环当前的哪个数据 for foreach都可以 */ var contera = conter.forEach((r) => { var cen=new URL(r.a) console.log(cen) var imgadd=cen.pathname r.a=window.location.host+imgadd newcenter.push(r); return r; }) console.log(newcenter) /* *你可以打印看看 conter.a 的ip 地址都被换成一样的了,然后你此时再去循环,就可以 *完美的解决这个问题,2种方式,你都可以选择 *具体第二种关于一个new URL 之后会出现什么请访问以下网址 * http://nodejs.cn/api/url.html#url_url_strings_and_url_objects */


8 打包

  • 手机端webpack 打包的代码,多看看webpack就可以了,主要是讲一下桌面应用打包 打包桌面应用程序的软件可以看看 electronjs 如果你只是需要打包 一个小项目不需要定制开发的话,可以忽略文档,看这里也行
  • 首先你在你的vue项目中引入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 npm install electron --save-dev
 npm install electron-builder  --save-dev
 /* 
 *  这个代码的意思是引入这个打包的js 
 *  第二句的意思是进行打包命令
 */
  • 引入完成之后,打开 package.json 文件在 script 中加入下面这2句代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  "scripts": {
    "electron_dev": "npm run build && electron build/electron.js",
    "electron_build": "electron-packager ./dist/ IM  --platform=win32 --arch=x64  --   icon=./src/assets/yizhu.ico  --overwrite"
	/*第一句代码就相当于 npm run dev 一个意思
	*进行预览查看
	*第二句代码意思是进行打包命令
	*语法:electron-packager <sourcedir> <appname> –platform=<platform> –arch=<arch> [optional flags…]

    *1. sourcedir 资源路径,在本例中既是./dist/
    *2. appname 打包出的exe名称
    *3. platform 平台名称(windows是win32)
    *4. arch 版本,本例为x64
    *5. [optional flags…] 配置项选填,可以设置二进制打包等,默认没有这些

  },

##9 发布桌面安装包

  • 首先你得去下载 打包工具,然后傻瓜式安装
  • 然后打开左上角的 File 跟着下面图片走
  • 然后你去找到你对应安装的目录,就可以发送给别人进行安装了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年04月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
围棋被攻克之后,多人在线战术竞技游戏(MOBA)已经成为测试检验前沿人工智能的动作决策和预测能力的重要平台。基于腾讯天美工作室开发的热门 MOBA 类手游《王者荣耀》,腾讯 AI Lab 正努力探索强化学习技术在复杂环境中的应用潜力。本文即是其中的一项成果,研究用深度强化学习来为智能体预测游戏动作的方法,该论文已被 AAAI-2020 接收。
机器之心
2019/12/25
1.4K0
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
让AI学会打王者,有什么用?
作为目前全球最负盛名的人工智能盛会之一,NeurIPS在每年年末都是计算机科学领域瞩目的焦点。被NeurIPS接收的论文,代表着当今神经科学和人工智能研究的最高水平,也反映着行业趋势的变化。
新智元
2023/01/08
4780
让AI学会打王者,有什么用?
马化腾的2万不好赚!绝悟AI稳如猛虎,人类王者被虐成狗
下一分钟,绝悟又在下路纠集4打2拿到2人头,一下就把差距拉到4:0,还拆了一个塔。
量子位
2021/07/19
4780
腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队
12月30日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军。该冠军球队来自腾讯AI Lab研发的绝悟WeKick版本,凭借1785.8的总分在与全球顶级技术团队的竞技中以显著优势胜出。
AI科技大本营
2021/01/21
1.2K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
Google Research 与英超曼城俱乐部在 Kaggle 平台上联合举办的 11v11 足球 AI 竞赛 Google Football 近日宣布最终结果:腾讯 AI Lab 绝悟 WeKick 版本(下称绝悟)以 1785.8 的分数获得冠军,且相比于其它队伍优势非常明显。
CV君
2021/01/05
1.1K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
论文 1:Mastering Complex Control in MOBA Games with Deep Reinforcement Learning
机器之心
2019/12/31
2.6K0
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
我和AI打了六局王者荣耀,心态崩了
PVP对战手游王者荣耀在五一节期间上线了一种新玩法——挑战 · 绝悟,也就是5人组队和5个AI对战。
量子位
2020/05/19
4890
我和AI打了六局王者荣耀,心态崩了
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
腾讯 AI Lab 开发的 AI 智能体「绝悟」已让王者峡谷不再只是人类召唤师的竞技场,而且这个 AI 战队在上月底进化成了「完全体」。在一局完整的比赛中,英雄选择阶段是至关重要的(比如五射手或五法师阵容会有官方劝退)。
磐创AI
2021/01/12
8360
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队
据机器之心了解,这是腾讯 AI Lab 与王者荣耀共同探索的研究项目——策略协作型 AI「绝悟」首次露面,并于昨天在KPL秋季决赛接受前职业 KPL 选手辰鬼、零度和职业解说白乐、九天和立人组成的人类战队(平均水平超过 99% 玩家)的水平测试。最终 AI 战队获得胜利。这是继围棋 AI「绝艺」后,腾讯 AI 在深度学习与强化学习领域的又一项前沿研究。
机器之心
2019/01/02
1.6K0
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
一场激烈的对战正在进行,左侧是五位人类职业电竞高手组成的赛区联队,另一方是……嗯?他们的对手没有出场?五个座椅空空荡荡?
量子位
2019/08/05
5900
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
AI算法龙虎榜 | 190804更新
No.1 策略协作型AI:绝悟,王者荣耀5V5战胜职业选手,504场1V1顶级业余玩家胜率99.8%
用户7623498
2020/08/04
6630
王者荣耀:在绝悟上进行监督学习
《Supervised learning achieves human-level performance in MOBA games: A case study of honor of kings》
算法一只狗
2022/11/04
9970
清华等世界12所顶尖高校学霸组团「打王者」,竟是为了搞科研?
---- 新智元报道   编辑:好困 桃子 【新智元导读】见过学霸打王者的样子吗?这不,清华、中科大、耶鲁等世界12所顶尖高校学霸集结,一来打王者,二来搞科研。 之前凑在一起「打王者」的学霸又来了! 成都大运会开幕在即,「世界大学生数智竞技邀请赛」正式启动。 国际级规模的大赛共邀请了12支队伍(包含中国大陆地区4所高校、中国港澳台地区及海外8所高校)参加。 每支队伍都需要训练三位英雄,并在之后让自己的AI进行「3V3」的对战,而获得冠军的团队可获得高达20万的奖金。 在此前的1V1中,各大高校的AI
新智元
2022/03/21
4960
腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊
感谢阅读腾讯AI Lab微信号第112篇文章。本文将介绍绝悟 AI 完全体升级版本的技术方法,也欢迎读者到王者荣耀 app 亲身体验其技术实力。 腾讯 AI Lab 宣布与王者荣耀联合研发的策略协作型 AI“绝悟”推出升级版本。 创新算法突破了可用英雄限制(英雄池数量从40增为100+),让 AI 完全掌握所有英雄的所有技能,能应对高达10的15次方的英雄组合数变化; 优化了禁选英雄(BanPick,简称BP)博弈策略,能综合自身技能与对手情况等多重因素派出最优英雄组合。 相关研究已被 AI 顶级会议 N
腾讯技术工程官方号
2020/12/01
1.5K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
「绝悟」是腾讯 AI Lab 与王者荣耀团队共同探索的前沿研究项目,在王者荣耀世界冠军杯半决赛的特设环节中,这一人工智能在职业选手赛区联队带来的 5v5 水平测试中获胜,首次在王者荣耀游戏中击败了现役职业玩家。
机器之心
2019/08/05
2.1K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
腾讯AI制霸王者荣耀,世界杯5V5 「绝悟」绝杀职业玩家,1天训练强度超人类440年
昨日,腾讯AI Lab研发的智能体「绝悟」在王者荣耀世界冠军杯半决赛特设环节,与职业选手职业选手赛区联队的5v5对决中获胜!
代码医生工作室
2019/08/06
8010
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
木易 发自 凹非寺  量子位 报道 | 公众号 QbitAI 腾讯AI Lab与王者荣耀联合研发的策略协作型 AI「绝悟」,全英雄池解禁,升级成「完全体」了。 11月28日到30日,将限时开放三天公众体验。 这次的升级,带来了新算法,除了突破了可用英雄限制,还优化了禁选英雄博弈策略。 而与此次升级相关的研究,也在近期被NeurIPS 2020和TNNLS分别收录。 在这两篇研究中,分别介绍了「绝悟」进行强化训练和监督训练具体细节。 那么,「完全体绝悟」是如何训练出来的呢? 就让我们顺着这次的论文,好好来了
量子位
2023/03/10
3420
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
用人工智能打王者荣耀:匹茨堡大学&腾讯AI Lab为游戏AI引入MCTS方法
选自arXiv 作者:Daniel R. Jiang、Emmanuel Ekwedike、Han Liu 机器之心编译 参与:路、李泽南 如果让人工智能来打王者荣耀,应该选择什么样的英雄?近日,匹茨堡大学和腾讯 AI Lab 提交的论文给了我们答案:狄仁杰。在该研究中,人们尝试了 AlphaGo Zero 中出现的蒙特卡洛树搜索(MCTS)等技术,并取得了不错的效果。 对于研究者而言,游戏是完美的 AI 训练环境,教会人工智能打各种电子游戏一直是很多人努力的目标。在开发 AlphaGo 并在围棋上战胜人类顶
机器之心
2018/06/08
7540
第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?
一场发生在王者峡谷的赛事,背后竟然惊动了清华、北大、中科大、电子科技大学……等20多所名校的学生和老师? 这不是一场简单的电竞赛事,而是一场AI领域的科研赛事——由腾讯AI Lab、王者荣耀、腾讯高校合作、腾讯游戏学院等联合举办,由腾讯云计算提供底层资源支持的第二届腾讯“开悟”多智能体强化学习大赛(简称开悟大赛)。 不同于常规电竞比赛,选手们并不是亲手操作英雄去战斗,他们的定位更类似于教练,通过编写的程序利用AI进行对抗。赛事基于“开悟”AI开放研究平台举行,依托于腾讯太极机器学习平台,选手可获取“开悟
腾讯高校合作
2021/11/12
7850
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
近年来,基于强化学习的计算工具在包括图像分类和机器人对象操作在内的众多任务中取得了显著成果。与此同时,计算机科学家也一直在训练强化学习模型来玩特定的人类游戏和电子游戏。
机器之心
2021/12/13
6560
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
推荐阅读
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
1.4K0
让AI学会打王者,有什么用?
4780
马化腾的2万不好赚!绝悟AI稳如猛虎,人类王者被虐成狗
4780
腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队
1.2K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
1.1K0
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
2.6K0
我和AI打了六局王者荣耀,心态崩了
4890
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
8360
腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队
1.6K0
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
5900
AI算法龙虎榜 | 190804更新
6630
王者荣耀:在绝悟上进行监督学习
9970
清华等世界12所顶尖高校学霸组团「打王者」,竟是为了搞科研?
4960
腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊
1.5K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
2.1K0
腾讯AI制霸王者荣耀,世界杯5V5 「绝悟」绝杀职业玩家,1天训练强度超人类440年
8010
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
3420
用人工智能打王者荣耀:匹茨堡大学&腾讯AI Lab为游戏AI引入MCTS方法
7540
第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?
7850
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
6560
相关推荐
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档