无论你是编程初学者还是老司机,在编码过程中总会遇到不懂的问题。最常见的方法就是去论坛问,谷歌搜索,需要在网页和编译页面之间反复切换,即使有两个大分屏,也会影响生产力。不过现在这个问题有望得到解决,一个方便的编程问答工具codequestion可以帮到你。直接在终端输入“你想问的问题”,用普通的自然语言,就像你去谷歌搜索一样。然后您可以立即返回到详细的操作教程,以对话的形式直接在终端上实现操作手册的查询。这种易于使用的工具安装起来并不复杂。安装教程最简单的安装codequestion的方式是通过pip或者PyPI:pipinstallcodequestion当然也可以将Github上的项目clone到本地:pipinstallgit+https://github.com/neuml/codequestion安装codequestion需要Python3.6以上.对于Linux系统,可以直接运行项目,但Windows和Mac需要安装额外的项目。Windows需要安装C++BuildTools,地址如下:https://visualstudio.microsoft.com/visual-cpp-build-tools/PyTorchWindows二进制文件在PyPI上没有,安装时必须添加以下url链接:pipinstalltxtai-fhttps://download.pytorch.org/whl/torch_stable.html对于Mac,安装前需要运行这条命令:brewinstalllibomp安装步骤已经完成,下面来看实例测试。下载代码问题后,您需要安装一个模组。python-mcodequestion.download模型的核心是作者DavidMezzetti开发的AI算法txtai。txtai支持构建文本索引、执行相似性搜索以及创建基于提取式问答的系统。作者还提供了一个预训练模型:unzipcqmodel.zip~/.codequestioncodequestion是可定制的,可以针对定制的问答库运行。目前,仅支持StackExchange库中的问题帮助,未来将提供更多支持选项。模型安装完成后,可以使用以下命令运行测试:mkdir-p~/.codequestion/test/stackexchangewgethttps://raw.githubusercontent.com/neuml/codequestion/master/test/stackexchange/query.txt-P~/.代码问题/测试/stackexchangewgethttp://ixa2.si.ehu.es/stswiki/images/4/48/Stsbenchmark.tar.gztar-C~/.codequestion/test-xvzfStsbenchmark.tar.gzpython-mcodequestion.evaluate-stestcode包含将测试数据下载到~/.codequestion/test中。下表显示了各种词嵌入/评分组合的测试结果。具有BM25分数的SE300d词向量在此数据集中表现最佳。即使减少了词汇量的StackExchange问题,SE300d-BM25在STS基准测试中也表现出色。之前,量子比特也推出过类似的Linux命令行查询工具,也是直接在终端输入问题,返回答案。不同的是,当时的工具howdoi是在网上技术论坛上搜索已有的答案,范围比较有限。那么这次引入的AI驱动的codequestion机制有什么进步呢?基本原理第一步:原始数据转储处理来自StackExchange存储库的原始7zXML转储通过一系列步骤进行处理。只有高分问题和答案会被检索并存储在模型中。问题和答案合并到一个名为questions.db的SQLite文件中。questions.db的schema如下:IdINTEGERPRIMARYKEYSourceTEXTSourceIdINTEGERDateDATETIMETagsTEXTQuestionTEXTQuestionUserTEXTAanswerTEXTAanswerUserTEXTReferenceTEXT步骤2:检索codequestion工具为questions.db建立句嵌入索引。questions.db模式中的每个问题都被标记化并解析为词嵌入。词嵌入模型是基于questions.db构建的自定义fastText模型。一旦将标记转换为词嵌入,就会创建加权句子嵌入。词嵌入使用BM25索引对存储库中的所有标记进行加权。但是有一个重要的修改:标签用于增加标签标记的权重。一旦question.db被转换为句子嵌入的集合,它们就会被规范化并存储在Faiss中,从而允许快速的相似性搜索。第3步:查询代码问题使用与索引相同的方法对每个查询进行标记。这些标记用于构建句子嵌入。根据Faiss索引查询嵌入的句子以找到最相似的问题。线下开发的好帮手可以看到这个codequestion工具的优势在于可以灵活的搜索匹配问题,并且可以根据问题答案的好坏来优先回答好答案。这是使用关键字匹配来搜索答案的类似工具无法比拟的。codequestion目前的局限性是它只支持StackExchange中的问题,但作者承诺将来会添加更多的库。不少网友反映,这款工具非常实用,尤其是支持本地库中的问答机制,对有离线开发需求的码友帮助很大。这个怎么样?如果这个工具对你有用,那就开始吧~参考链接&传送门:Github地址:https://github.com/neuml/codequestionC++BuildTools安装地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/之前介绍过的Linux命令行查询工具:https://mp.weixin.qq.com/s/5vfQRsAZ4zEKOJnUNT8Ebg【小编推荐】华为开发者大会正式发布HarmonyOS2.0,点燃全场景智慧生态的火花开发效率提高N倍。20+命令行神器快速集齐,成为华为综合社区战略合作伙伴。双方共同打造HarmonyOS开发者生态。Java开发中Websocket技术选型参考为什么阿里巴巴Java开发手册中强制禁止使用Long类型返回大整数?
