如何本地使用Tabby和ktransformers搭配236B大模型实现代码补全?

Tabby 是一个开源代码助手,允许用户手动配置后端框架和模型,并在多个IDE/编辑器中使用,例如VSCode和IntelliJ。由于Tabby可以在框架端与Ollama对接,而ktransformers服务器提供了与Ollama一致的API,我们可以将Tabby连接到ktransformers服务器。这种设置使我们能够在代码补全场景中体验快速、异构的推理。

  1. 启动ktransformers。
./ktransformers --port 9112
  1. 安装Tabby:按照官方教程在配备NVIDIA GPU的Linux服务器或Windows PC上安装Tabby here
  2. 配置Tabby:创建~/.tabby/config.toml并添加以下配置。
[model.completion.http]
kind = "ollama/completion"
api_endpoint = "http://127.0.0.1:9112/"
model_name = "DeepSeek-Coder-V2-Instruct"
prompt_template = "<|fim▁begin|>{prefix}<|fim▁hole|>{suffix}<|fim▁end|>" # Prompt Template

在此配置中,kind指定ktransformers使用标准Ollama API来服务Tabby;api_endpoint与启动ktransformers时绑定的接口匹配;model_name设置为ktransformers使用的模型,这里DeepSeek-Coder-V2-Instruct是后端推理模型;prompt_template是模型的提示模板,不同模型需要对应的模板才能正确使用中间填充功能。 这里我们展示了Tabby使用Ollama API提供补全功能的相关配置。关于Tabby中其他可用功能的配置信息,请参考此处

  1. 启动Tabby服务: ./tabby serve. image-20240709111648215

    启动后,您应该能在ktransformers命令行中看到对/api/tags接口的访问(在Tabby的v0.13.0版本中,这改为访问/api/show/接口)。 image-20240709111648215

  2. 注册Tabby账号,获取Token:启动Tabby服务后,在浏览器中打开对应链接(如上文所示的0.0.0.0:8080),按照教程创建用户并获取Token。

  3. 启动VSCode,安装Tabby扩展插件,并使用上一步获取的Token连接Tabby Server,具体操作请参考此处

  4. 打开任意代码文件,体验ktranformers快速异构推理的强大性能。