ENG

2024-11-25 15:19:09

关鹏:我用AI做了一款公众号编辑器

分享

关鹏:我用AI做了一款公众号编辑器

  那时■■,关鹏几乎每天都要排版,通常需要先在Word文档中编辑完成后,粘贴到编辑器里排好版,再粘回微信公众号,烦琐、耗时且效率极低。

  如今◆■■◆◆■,作为腾讯的一名开发工程师,关鹏的工作是与代码打交道◆■★★,遇到问题他还会使用AI这个“小帮手■★★”。

  ■★◆■“但无论是微信的原生工具,还是其他编辑器◆◆,都让创作者不得不将有限的创作经历分散到排版设计上■★■■。”关鹏告诉《中国科学报》。

  在AI的帮助下◆★■★,编辑器还实现了在左侧编辑栏中输入文字◆■■★■■,右侧实时出现初步排版效果,然后一键选出合适的模板完成排版。

  关鹏借助AI大语言模型自建后台服务★■,实现了公式转图片的功能,还可根据排版情况调整图片大小★■◆◆★。对于大量公式的转换,关鹏在前端合理使用了异步请求,即将所有需要转换的公式并行执行,性能上达到了10个公式2秒转换的效果。

  “如果写文章的同时能一键排版,那该多好◆★■。”有计算机专业背景的关鹏,决定自己开发一款编辑器,◆■“这样就能让人专注于内容创作本身,而不被格式烦扰了■★■◆”。

  更让他感到麻烦的是■◆,国科大的公号刊发的相关报道免不了使用数学公式★■◆◆■,公式不像汉字可以用拼音打出来■★★。因此,关鹏一直在与编辑器作★■■★■■“斗争”,试图解决数学公式无法呈现■★■◆■★、排版错乱、标题单一等问题。

  ■■◆★◆■“有时百度和谷歌无法回答我◆■★■,但AI会给我答案,它可以提供一个具有可行性的新方法◆◆,很有参考价值。”关鹏说★■。

  通过这些年的使用,关鹏认为★◆■★,未来AI一定会更深入地融入我们的生活,■◆★◆◆■“学习如何与AI相处或许是未来社会发展的主旋律”。

  不久■◆,关鹏设计的编辑器有了雏形,但仍存在编辑数学公式、微信外链转脚注■★■◆■◆、修改等诸多细节问题。

  2016年,关鹏进入中国科学院大学(以下简称国科大)计算技术研究所读研究生时★◆★◆◆★,国科大官方微信团队正招募队员,出于提高审美的考虑◆◆◆★,他报了美编岗位★◆■★。

  2023年,恰逢ChatGPT等AI大语言模型爆火■■◆。关鹏尝试用其解决那些难题★★★■■,■★★◆■“AI给了我很多解决方案。比如◆◆,如果呈现数学公式◆■,我觉得可行的方案是将公式转换成图片,但我不知道图片的内容怎么制作出来,就问了AI★◆■■,这是搜索引擎很难解决的问题■★■◆”。

  这是AI进入他日常工作和生活的开始★◆◆■。那时★■◆■★◆,微信公众号自带的排版功能还不强,因此衍生出一批编辑器◆★★◆。

注册

  • 看不清?点击换图

$(function() { $("#showCode").click(function(){ $(".appletCode_alert").show(); return false; }); $("body,html").click(function(){ $(".appletCode_alert").hide(); }); //视频播放 //var host = location.protocol + '//' + location.host; var videoObject = { container: '#videobox1', //容器的ID或className variable: 'player', //播放函数名称 autoplay: true, //是否自动播放 debug: true, //是否开启调试模式 drag: 'start', //拖动的属性 seek: 0, //默认跳转的时间 playbackrate: -1, mobileCkControls: false }; // palybtn function ckplayerX($showbtn, $hidebtn) { var player; $(document).on('click', $showbtn, function() { $(".l-recruitmentfloat").fadeIn(300); _videofile = $(this).data('vlink'); videoObject.video = _videofile; player = new ckplayer(videoObject); }) $(document).on('click', $hidebtn, function() { stop(); }); $(document).on('click', function(e) { if($(e.target).hasClass('l-recruitmentfloat')) { stop(); } }); function stop() { player.videoPause(); $('.l-recruitmentfloat').fadeOut(300); $(".l-recruitmentfloat .l-videobox").html(""); } } ckplayerX('.video-play-button', '.l-recclosebtn'); });