敲代码遇到难题怎么办?这个项目无需联网也能帮你找到解决方案

开发 前端
许多开发人员在编程过程中碰到问题,首选都是打开浏览器,搜索问题,并尝试找出答案,现在,有一个神器可以让你不用这么麻烦了。

 许多开发人员在编程过程中碰到问题,首选都是打开浏览器,搜索问题,并尝试找出答案,现在,有一个神器可以让你不用这么麻烦了。

这个名为codequestion的神器,是一个基于archive.org上的Stack Exchange Dump构建的。使用来自Stack Exchange的数据,codequestion针对预先训练的模型在本地运行。

安装后你无需网络连接,你只需要在终端输入问题,就可以得到答案,搜索出来的结果和你在浏览器上搜索的没有什么两样。

目前,codequestion知道的人并不是很多,只获得 117 个Star,累计分支 11 个(Github地址:https://github.com/neuml/codequestion),下面一起来看看具体使用方法:

安装方式

最简单的安装方式是通过pip和PyPI:

  1. pip install codequestion 

你也可以直接从GitHub安装codequestion。建议使用Python虚拟环境,支持Python 3.6+:

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

下载模型

一旦安装了Codequestion,就需要下载模型。

  1. python -m codequestion.download 

该模型将存储在〜/ .codequestion /中,预训练的模型可以从Github详情页面获取

  1. $ git reset --hard 

可以自定义代码问题以针对自定义的问题解答存储库运行,目前,仅支持Stack Exchange模型。

运行查询

运行查询最快的方法是启动一个codequestion shell

  1. $ git reset --hard 

技术原理

原始数据转储处理:codequestion的运行原理是怎样的呢?首先是原始数据转储处理,来自Stack Exchange库的原始7z XML转储通过一系列步骤进行处理。仅检索得分高且得分高的问题存储,问题和答案被合并到一个名为questions.db的SQLite文件中。questions.db的模式如下:

  1. $ git reset --hard 

索引编制:codequestion工具为questions.db建立了一个句子嵌入索引。单词嵌入模型是基于questions.db构建的自定义fastText模型。一旦将每个标记转换为单词嵌入,就会创建加权句子嵌入。词嵌入使用BM25索引对资源库中的所有token进行加权。但有一个重要的修改:标签被用来提升标签标记的权重。将questions.db转换为句子嵌入的集合后,会将它们标准化并存储在Faiss中,从而可以进行快速相似性搜索。

查询方式:codequestion使用与索引相同的方法对每个查询进行标记。这些标记用于构建句子嵌入。针对Faiss索引查询该嵌入,以找到最相似的问题。

除此之外,创建者还在Github项目详情页介绍了如何使用Stack Exchange构建代码问题模型。感兴趣的伙伴们赶紧收藏。

 

 

责任编辑:张燕妮 来源: 开源最前线
相关推荐

2024-10-18 09:55:50

RedisHash数据

2024-10-09 17:06:52

RedisHash哈希表

2021-02-19 08:06:53

数据分析互联网运营大数据

2020-08-16 08:32:18

物联网IOT物联网技术

2023-07-12 15:07:10

物联网智能医疗

2010-06-24 22:13:06

2014-06-24 09:24:24

密码身份验证

2022-09-15 11:03:48

物联网传感器

2020-06-22 07:40:07

物联网头盔技术

2021-01-04 10:02:17

DockerLoaded plug操作系统

2013-11-05 10:22:20

浏览器加密

2023-08-21 17:01:45

物联网通信技术

2018-02-05 22:21:38

物联网工业物联网数字化

2010-05-10 18:22:51

负载均衡器

2012-12-11 22:50:44

NETGEAR物联网解决方

2022-11-04 15:13:29

2020-04-11 21:10:36

物联网智能节水IOT

2017-10-10 15:36:50

物联网企业

2015-07-10 10:16:27

JS库新手
点赞
收藏

51CTO技术栈公众号