当前位置:

首页 > 软件教程 > 终端掌控一切!编程神器值得入手

终端掌控一切!编程神器值得入手

无论你是编程新手还是老手,在编程过程中遇到难题是常有的事。传统的解决方法是通过论坛提问或谷歌搜索,这通常需要在网页和编程环境间来回切换,即使有大屏幕分屏,效率也会受到影响。然而,现在有了一个新的解决方案,一个名为codequestion的便捷编程Q&A工具可以帮助你。你只需在终端中输入你要问的问题,使用日常的自然语言,就像在谷歌搜索一样简单。随后,工具会立即返回详细的操作指南,实现了在终端内通过对话形式查询操作手册的功能。这款工具的安装过程也很简单。安装指南安装codequestion的最简便方法

本文目录

    无论你是编程新手还是老手,在编程过程中遇到难题是常有的事。

    传统的解决方法是通过论坛提问或谷歌搜索,这通常需要在网页和编程环境间来回切换,即使有大屏幕分屏,效率也会受到影响。

    写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了然而,现在有了一个新的解决方案,一个名为codequestion的便捷编程Q&A工具可以帮助你。

    你只需在终端中输入你要问的问题,使用日常的自然语言,就像在谷歌搜索一样简单。

    写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了随后,工具会立即返回详细的操作指南,实现了在终端内通过对话形式查询操作手册的功能。

    这款工具的安装过程也很简单。

    安装指南安装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/stackexchange
    wget https://raw.githubusercontent.com/neuml/codequestion/master/test/stackexchange/query.txt -P ~/.codequestion/test/stackexchange
    wget http://ixa2.si.ehu.es/stswiki/images/4/48/Stsbenchmark.tar.gz
    tar -C ~/.codequestion/test -xvzf Stsbenchmark.tar.gz
    python -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 KEY
    Source TEXT
    SourceId INTEGER
    Date DATETIME
    Tags TEXT
    Question TEXT
    QuestionUser TEXT
    Answer TEXT
    AnswerUser TEXT
    Reference TEXT

    第二步:检索

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

    每个问题都会被标记,并解析为词嵌入。

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

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

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

    第三步:查询

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

    离线开发的好帮手可以看出,codequestion工具的优势在于灵活的搜索匹配问题,并且能够根据问题回答的质量优先推选好的回答。

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

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

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

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    .NET 获取图片宽高方法及性能对比
    .NET 获取图片宽高方法及性能对比

    在.NET框架中获取图片宽高有多种方法,本文将详细介绍四种方法,并对其性能进行评估。如果您需要处理大量图片,这些信息将非常有用。本文将评估以下四种方法来获取图片的宽高:System.Drawing.Imaging.Metafile不要误以为Metafile是图片的元数据,它实际上是微软Windows系统的一种图片格式,如WMF和EMF(WindowsMetafile和EnhancedMetafile)。虽然它可以读取其他格式的图片,但不适合通过读取元数据头来提升性能。varheader=Meta

    VS Code基础操作教程详解
    VS Code基础操作教程详解

    如何彻底卸载VSCode并清除所有用户数据?要实现此目的,您需要删除与VSCode相关的用户数据文件夹Code和.vscode。这样可以使您的系统恢复到安装VSCode之前的状态。如果您不打算卸载VSCode,也可以通过删除这些文件夹来重置所有设置。不同操作系统下的文件夹路径如下:Windows:删除%APPDATA%\Code和%USERPROFILE%\.vscode。macOS:删除$HOME/Library/ApplicationSupport/Code和~/.vscode。Linux:

    死磕 IO 流?你磕对了吗
    死磕 IO 流?你磕对了吗

    在日常开发中,我们经常会接触到IO流,例如在处理文件上传下载、数据传输以及设计模式等方面。IO流是这些操作的基础,因此今天我们将深入探讨Java中IO流的相关知识点。本文将涵盖以下主要内容:文件对象流概述字节流与字符流文件对象与文件路径Java标准库java.io提供了File对象,用于操作文件和目录。通过File对象,我们可以将文件和目录封装成对象。构造File对象时,需要提供文件或目录的路径名,常用的构造方法如下:方法描述File(StringpathName)通过给

    PCIe中断驱动寄存器被覆盖问题排查与修复
    PCIe中断驱动寄存器被覆盖问题排查与修复

    在Windows环境下使用WDF框架开发PCIe驱动的DMA读写功能时,启动一次DMA传输需要两个步骤:初始化DMA传输对象:在初始化DMA传输对象时,应将本次DMA传输的数据缓冲区的地址和长度写入该对象,并向其注册用于配置并启动DMA传输的回调函数PCIeEvtProgramWriteDma。该回调函数会获取缓冲区地址和长度,通过PIO方式配置PCIeBar空间上的寄存器,以通知硬件启动DMA传输。执行DMA传输:在执行DMA传输时,驱动仅需调用WDF框架的WdfDmaTransactionExecu

    Pytest跳过用例技巧:skip与skipif详解
    Pytest跳过用例技巧:skip与skipif详解

    如果你还想从头学起Pytest,可以看看这个系列的文章哦!https://www.cnblogs.com/poloyy/category/1690628.html前言可以标记无法在某些平台上运行的测试功能,戒者您希望失败的测试功能pytest.mark.skip希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试@pytest.mark.skip跳过执行测试用例,有

    Qt数据看板布局另存方法详解
    Qt数据看板布局另存方法详解

    一、前言布局另存功能是数据可视化大屏界面电子看板系统中的一项便捷功能,旨在帮助用户在现有布局上进行微调后,直接将其保存为新的配置文件,从而避免从头开始重新构建布局的繁琐过程。此功能依赖于配置文件的保存机制,通过将现有布局另存为不同名称的配置文件,用户可以轻松管理和切换不同的布局设置。在代码实现上,Qt的QSettings类提供了极大的便利,不仅支持Windows注册表的读写操作,还支持跨平台的INI文件格式。个人而言,我更倾向于使用INI文件作为配置文件,因为其跨平台特性特别适合我在嵌入式Linux环境下

    Qt输入法V2019项目作品分享
    Qt输入法V2019项目作品分享

    一、功能特点本输入法未采用Qt系统层输入法框架,而是采用了独创的输入切换机制。完全基于QWidget编写,适用于任何目标平台(已测试Windows、Linux、嵌入式Linux等),兼容任意Qt版本(已测试从Qt4.6.0到Qt5.13),支持任意编译器(已测试mingw、gcc、msvc等),并能在任意控件中输入,包括网页中的输入控件。调用非常方便,只需在pro文件中包含pri文件,例如:include($$PWD/input2019/input2019.pri)。界面设计简洁明了,UI美观友好,模仿I

    MySQL解压版Windows安装教程
    MySQL解压版Windows安装教程

    MySQL解压版如何在Windows系统中安装1、请将压缩包中的软件包解压出来,并复制到所要安装的路径下面。2、在安装路径下面软件包内新建两个文件,data目录和my.ini文件。3、在my.ini内更改安装位置,注意版本,文件已放置于压缩包中。代码语言:javascript代码运行次数:0运行复制[client]port=3306default-character-set=utf8[mysqld]#设置mysql的安装目录basedir=E:\MySQL\mysql-5.7.26-winx64#设置

    报错:缺少 Microsoft.ReportViewer.Common 11.0.0.0 解决方法
    报错:缺少 Microsoft.ReportViewer.Common 11.0.0.0 解决方法

    在开发WinForm客户端软件时,使用rdlc进行报表生成并通过ReportViewer展示报表时,开发者的机器上运行正常,但部署到第三方机器上时可能会遇到以下几种错误:(1)未能加载文件或程序集“Microsoft.ReportViewer.Common,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。文件名:“Microsoft.ReportViewer.Common,V

    NTLM协议工作原理详解
    NTLM协议工作原理详解

    NTLM协议在WindowsNT和Windows2000Server(或更高版本)的工作组环境中使用(Kerberos用于域模式下)。在AD域环境中,若需要验证WindowsNT系统,必须使用NTLM。与Kerberos相比,NTLM认证过程更为简单。NTLM采用挑战/响应(Challenge/Response)消息交换模式,以下是NTLM的认证流程:NTLM认证协议可用于多种协议中,例如HTTP、SMB等。以下通过HTTP协议来说明其具体认证流程:首先,

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。