Home

Awesome

CodeShell IntelliJ IDEA Extension

English readme

codeshell-intellij项目是基于CodeShell大模型开发的支持IntelliJ IDEA、Pycharm、GoLand等多种IDE的智能编码助手插件,支持python、java、c++/c、javascript、go等多种编程语言,为开发者提供代码补全、代码解释、代码优化、注释生成、对话问答等功能,旨在通过智能化的方式帮助开发者提高编程效率。

环境要求

插件编译

如果要从源码进行打包,请先获取代码:

git clone https://github.com/WisdomShell/codeshell-intellij.git

插件DEBUG截图

打包插件

安装插件

插件安装截图

模型服务

llama_cpp_for_codeshell项目提供CodeShell大模型 4bits量化后的模型,模型名称为codeshell-chat-q4_0.gguf。以下为部署模型服务步骤:

编译代码

下载模型

Hugging Face Hub上,我们提供了三种不同的模型,分别是CodeShell-7BCodeShell-7B-ChatCodeShell-7B-Chat-int4。以下是下载模型的步骤。

git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4/blob/main/codeshell-chat-q4_0.gguf

加载模型

./server -m ./models/codeshell-chat-q4_0.gguf --host 127.0.0.1 --port 8080

注意:对于编译时启用了 Metal 的情况下,若运行时出现异常,您也可以在命令行添加参数 -ngl 0 显式地禁用Metal GPU推理,从而使模型正常运行。

模型服务[NVIDIA GPU]

对于希望使用NVIDIA GPU进行推理的用户,可以使用text-generation-inference项目部署CodeShell大模型。以下为部署模型服务步骤:

下载模型

Hugging Face Hub将模型下载到本地后,将模型放置在 $HOME/models 文件夹的路径下,即可从本地加载模型。

git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat

部署模型

使用以下命令即可用text-generation-inference进行GPU加速推理部署:

docker run --gpus 'all' --shm-size 1g -p 9090:80 -v $HOME/models:/data \
        --env LOG_LEVEL="info,text_generation_router=debug" \
        ghcr.nju.edu.cn/huggingface/text-generation-inference:1.0.3 \
        --model-id /data/CodeShell-7B-Chat --num-shard 1 \
        --max-total-tokens 5000 --max-input-length 4096 \
        --max-stop-sequences 12 --trust-remote-code

更详细的参数说明请参考text-generation-inference项目文档

配置插件

注意:不同的模型运行环境可以在插件中进行配置。对于CodeShell-7B-Chat-int4模型,您可以在Model Runtime Environment选项中选择Use CPU Mode(with llama.cpp)选项。而对于CodeShell-7BCodeShell-7B-Chat模型,应选择Use GPU Model(with TGI framework)选项。

插件配置截图

功能特性

1. 代码补全

在编码时,当您停止输入时,代码建议将自动触发。

当插件提供代码建议时,建议内容以灰色显示在编辑器光标位置,您可以按下Tab键来接受该建议,或者继续输入以忽略该建议。

代码建议截图

2. 代码辅助

在IDE侧边栏中打开插件问答界面,在编辑器中选中一段代码,在鼠标右键CodeShell菜单中选择对应的功能项,插件将在问答界面中给出相应的答复。

代码辅助截图

3. 智能问答

智能问答截图

在问答界面的代码块中,可以点击复制按钮复制该代码块。

开源协议

Apache 2.0