跳到主要内容

自动补全角色

“自动补全模型”是一种大型语言模型(LLM),它经过一种称为“中间填充”(FIM)的特殊格式训练。这种格式旨在接收代码文件的前缀和后缀,并预测两者之间的内容。这项任务非常具体,一方面意味着模型可以更小(即使是参数量为30亿的模型也能表现良好)。另一方面,这意味着聊天模型虽然更大,但即使经过广泛提示,表现也往往不佳。

在 Continue 中,自动补全模型用于在您输入时显示行内自动补全建议。通过在 `config.yaml` 中模型的 `roles` 中添加 `autocomplete`,即可指定自动补全模型。

请访问自动补全深入探讨以了解推荐的模型和更多详情。

提示词模板

您可以通过在模型配置中设置 `promptTemplates.autocomplete` 属性来自定义自动补全时使用的提示词模板。Continue 使用 Handlebars 语法进行模板化。

应用模板的可用变量

  • {{{prefix}}} - 光标前的代码
  • {{{suffix}}} - 光标后的代码
  • {{{filename}}} - 当前光标所在的文件名
  • {{{reponame}}} - 代码库所在的文件夹名称
  • {{{language}}} - 编程语言的全称(例如 Typescript)

示例

models:
- name: My Custom Autocomplete Template
provider: ollama
model: qwen2.5-coder:1.5b
promptTemplates:
autocomplete: |
`
globalThis.importantFunc = importantFunc
<|fim_prefix|>{{{prefix}}}<|fim_suffix|>{{{suffix}}}<|fim_middle|>
`