您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    写代码、搜成绩,全部都在终端完成!如此编程神器,是时分入手了
    时间:2020-09-14 12:24 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    无论你是编程小白还是老司机,coding进程中总会遇到不懂的成绩。

    最常见的办法是去论坛讯问、谷歌搜索,需求重复在网页和编译器页面切换,即使有两个很大的分屏,消费力也会遭到影响。

    写代码、搜成绩,全部都在终端完成!如此编程神器,是时分入手了

    但是如今这个成绩有希望处置了,一个便捷编程Q&A工具codequestion可以帮到你。

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

    然后马上就能前往详细操作教程,完成了直接在终端用对话方式来查询操作手册

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

    安装教程

    安装codequestion最复杂的办法是经过pip或PyPI:

    pip install codequestion

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

    pip install git+https://github.com/neuml/codequestion

    安装codequestion需求Python 3.6版本以上。

    关于Linux系统来说,可以直接运转项目,但是Windows和Mac需求安装额外项。

    Windows需求安装C++ Build Tools,地址如下:

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

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

    pip install txtai -f https://download.pytorch.org/whl/torch_stable.html

    关于Mac来说,安装前需求运转这个命令:

    brew install libomp

    安装步骤曾经完成了,接上去看看实例测试吧

    AI驱动的问答机制

    codequestion下载完成以后,还需求安装一个模型。

    python -m codequestion.download

    这个模型的中心就是作者David Mezzetti之前开发的AI算法txtai

    txtai支持构建文本索引,执行相似性搜索,并创立基于提取式成绩回答的系统。

    作者还提供了预训练的模型:

    unzip cqmodel.zip ~/.codequestion

    codequestion是可以定制的,可以针对自定义的问答库运转。目前,只支持Stack Exchange库中的成绩协助,未来会有更多的支持选项。

    完成模型安装后,可以经过以下命令运转测试:

    mkdir -p ~/.codequestion/test/stackexchangewget https://raw.githubusercontent.com/neuml/codequestion/master/test/stackexchange/query.txt -P ~/.codequestion/test/stackexchangewget -C ~/.codequestion/test -xvzf Stsbenchmark.tar.gzpython -m codequestion.evaluate -s test

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

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

    SE 300d单词向量与BM25评分在这个数据集中表现最好。即使增加了词汇量的Stack Exchange成绩,SE 300d - BM25在STS基准测试中的表现也相当不错。

    之前,量子位也引见过一个相似的Linux命令行查询工具,也是直接在终端输入成绩,前往答案。

    不同的是,事先的工具howdoi是在在线技术论坛上搜索已有答案,范围比较有限。

    那么这次引见的codequestion的AI驱动机制,有什么先进之处呢?

    基本原理

    第一步:原始数据转储处置

    来自Stack Exchange库的原始7z XML转储经过一系列步骤停止处置。

    只要高分的成绩和答案才会被检索到,并存储在模型中。

    成绩和答案被整合到一个名为questions.db的单一SQLite文件中。questions.db 的形式如下:

    Id INTEGER PRIMARY KEYSource TEXTSourceId INTEGERDate DATETIMETags TEXTQuestionTEXTQuestionUser TEXTAnswer TEXTAnswerUser TEXTReference TEXT

    第二步:检索

    codequestion工具为questions.db树立了一个句子嵌入索引。

    questions.db形式中的每个成绩都会被标记,并解析为单词嵌入。

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

    词嵌入运用BM25索引对资源库中的一切token停止加权。但有一个重要的修正:标签被用来提升标签标记的权重。

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

    第三步:查询

    codequestion运用与索引相反的办法对每个查询停止标记。这些标记被用来树立一个句子嵌入。依据Faiss索引对该嵌入句停止查询,以找到最相似的成绩。

    离线开发好帮手

    可以看出,这个codequestion工具的优势在于灵敏的搜索婚配成绩,并且可以依据成绩回答的质量优先推选好的回答。

    这一点是相似工具运用关键词婚配搜索答案无法比拟的。

    目前codequestion的局限在于只支持Stack Exchange中的成绩,但是,作者承诺前期会参加更多的库。

    写代码、搜成绩,全部都在终端完成!如此编程神器,是时分入手了

    不少网友都反响,这个工具十分适用,尤其是它支持本地库中的问答机制,关于有离线开发需求的码农来说,协助颇巨。

    怎样样?假设这个工具对你有用,那就赶快上手操作吧~

    参考链接&传送门:

    Github地址:
    https://github.com/neuml/codequestion

    C++ Build Tools安装地址:
    https://visualstudio.microsoft.com/visual-cpp-build-tools/

    量子位之前引见过的Linux命令行查询工具:
    https://mp.weixin.qq.com/s/5vfQRsAZ4zEKOJnUNT8Ebg

    【编辑引荐】

    华为开发者大会正式发布HarmonyOS 2.0 扑灭面向全场景智慧生态的星星之火

    提升开发效率N倍的20+命令行神器,赶忙收藏了

    51CTO成为华为综合性社区战略协作同伴 双方合力打造HarmonyOS开发者生态

    Java开发中Websocket的技术选型参考

    为什么阿里巴巴Java开发手册中强迫要求超大整数制止运用Long类型前往?

    (责任编辑:admin)