自动补全角色
“自动补全模型”是一种大型语言模型(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|>
`