跳到主要内容
“自动补全模型”是一种大型语言模型(LLM),经过特殊格式(即填充中间(FIM))的训练。这种格式旨在给定代码文件的前缀和后缀,并预测中间内容。这项任务非常具体,一方面意味着模型可以更小(即使是 3B 参数模型也能表现良好)。另一方面,这意味着聊天模型尽管更大,但即使经过大量提示,通常也表现不佳。 在 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|>
        `