[返回数码家电首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了
送交者: 墨默[♀★★焦点--版小二★★♀] 于 2020-09-13 3:10 已读 550 次  

墨默的个人频道

原标题:写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了


贾浩楠 发自 凹非寺 6park.com

量子位 报道 | 公众号 QbitAI 6park.com

无论你是编程小白还是老司机,coding过程中总会遇到不懂的问题。 6park.com

最常见的方法是去论坛询问、谷歌搜索,需要反复在网页和编译器页面切换,即使有两个很大的分屏,生产力也会受到影响。 6park.com


但是现在这个问题有希望解决了,一个便捷编程Q&A工具 codequestion可以帮到你。 6park.com

直接在终端输入「你要问的问题」,用普通的自然语言就行,和你去谷歌搜索没什么两样。 6park.com


然后马上就能返回详细操作教程, 实现了直接在终端用对话形式来查询操作手册6park.com

这么好用的工具安装起来也不复杂。 6park.com

安装教程 6park.com

安装codequestion最简单的方法是通过pip或PyPI: 6park.com

当然,你也可以克隆Github上的项目到本地: 6park.com

安装codequestion需要Python 3.6版本以上。 6park.com

对于Linux系统来说,可以直接运行项目,但是Windows和Mac需要安装额外项。 6park.com

Windows需要安装 C++ Build Tools,地址如下: 6park.com

https://visualstudio.microsoft.com/visual-cpp-build-tools/ 6park.com

PyTorch Windows的二进制文件不在PyPI上,安装时必须添加以下url链接: 6park.com

对于Mac来说,安装前需要运行这个命令: 6park.com

安装步骤已经完成了,接下来看看实例测试吧 6park.com

AI驱动的问答机制 6park.com

codequestion下载完成以后,还需要安装一个模型。 6park.com

python -m codequestion.download 6park.com

这个模型的核心就是作者 David Mezzetti之前开发的AI算法 txtai6park.com

txtai支持构建文本索引,执行相似性搜索,并创建基于提取式问题回答的系统。 6park.com


作者还提供了预训练的模型: 6park.com

codequestion是可以定制的,可以针对自定义的问答库运行。目前,只支持Stack Exchange库中的问题帮助,未来会有更多的支持选项。 6park.com

完成模型安装后,可以通过以下命令运行测试: 6park.com

代码中包含将测试数据下载到〜/ .codequestion / test中。 6park.com

下面的表格显示了各种词向量/评分组合的测试结果。 6park.com


SE 300d单词向量与BM25评分在这个数据集中表现最好。即使减少了词汇量的Stack Exchange问题,SE 300d - BM25在STS基准测试中的表现也相当不错。 6park.com

之前,量子位也介绍过一个相似的Linux命令行查询工具,也是直接在终端输入问题,返回答案。 6park.com

不同的是,当时的工具 howdoi是在在线技术论坛上搜索已有答案,范围比较有限。 6park.com

那么这次介绍的codequestion的AI驱动机制,有什么先进之处呢? 6park.com

基本原理 6park.com

第一步:原始数据转储处理 6park.com

来自Stack Exchange库的原始7z XML转储通过一系列步骤进行处理。 6park.com

只有高分的问题和答案才会被检索到,并存储在模型中。 6park.com

问题和答案被整合到一个名为questions.db的单一SQLite文件中。questions.db 的模式如下: 6park.com

第二步:检索 6park.com

codequestion工具为questions.db建立了一个句子嵌入索引。 6park.com

questions.db模式中的每个问题都会被标记,并解析为单词嵌入。 6park.com

词嵌入模型是建立在questions.db上的自定义fastText模型。一旦某个token被转换为单词嵌入,就会创建一个加权的句子嵌入。 6park.com

词嵌入使用BM25索引对资源库中的所有token进行加权。但有一个重要的修改:标签被用来提升标签标记的权重。 6park.com

一旦question.db被转换为句子嵌入的集合,它们就会被归一化并存储在Faiss中,从而可以进行快速的相似性搜索。 6park.com

第三步:查询 6park.com

codequestion使用与索引相同的方法对每个查询进行标记。这些标记被用来建立一个句子嵌入。根据Faiss索引对该嵌入句进行查询,以找到最相似的问题。 6park.com

离线开发好帮手 6park.com

可以看出,这个codequestion工具的优势在于灵活的搜索匹配问题,并且能够根据问题回答的质量优先推选好的回答。 6park.com

这一点是类似工具使用关键词匹配搜索答案无法比拟的。 6park.com

目前codequestion的局限在于只支持Stack Exchange中的问题,但是,作者承诺后期会加入更多的库。 6park.com


不少网友都反应,这个工具十分实用,尤其是它支持本地库中的问答机制,对于有离线开发需求的码农来说,帮助颇巨。 6park.com

怎么样?如果这个工具对你有用,那就赶快上手操作吧~ 6park.com

参考链接&传送门: 6park.com

Github地址: 6park.com

https://github.com/neuml/codequestion 6park.com

C++ Build Tools安装地址: 6park.com

https://visualstudio.microsoft.com/visual-cpp-build-tools/ 6park.com

量子位之前介绍过的Linux命令行查询工具: 6park.com

https://mp.weixin.qq.com/s/5vfQRsAZ4zEKOJnUNT8Ebg 6park.com

6park.com

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。 6park.com

好课推荐 | 0基础学Python 6park.com

《动手学Python》课程由上海交大博士教研团队研发,在线学习平台由上海交大AI实验室技术支持,旷视、文远知行、图森未来、来也科技等知名AI企业CEO/CTO力荐6park.com

0基础可入门,限时开放体验课!扫码即刻开启Python学习之旅: 6park.com

量子位 QbitAI · 头条号签约作者 6park.com

վ'ᴗ' ի 追踪AI技术和产品新动态 6park.com

一键三连「分享」、「点赞」和「在看」 6park.com

科技前沿进展日日相见~

喜欢墨默朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ 墨默的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回数码家电首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


    用户名:密码:[--注册ID--]

    标 题:

    粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


         图片上传  Youtube代码器  预览辅助

    打开微信,扫一扫[Scan QR Code]
    进入内容页点击屏幕右上分享按钮

    楼主本栏目热帖推荐:

    >>>>查看更多楼主社区动态...






    [ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]