现在是用 vscode, copilot 是好用,但有次数限制.换了 continue + 第三方 key. 但不知道 model 需要满足啥条件才能用. 现在比较好用的是啥模型? 谢谢
![]() |
1
billbob 11 天前
腾讯豆包.通义
|
![]() |
2
ouTL034NxOke37E9 11 天前
同问
|
![]() |
3
jaylee4869 11 天前 ![]() 理论上所有 LLM 都支持代码补全,你想问的是一个叫 FIM ( Fill-In-the-Middle )的模版输出。比如 DeepSeek FIM API: https://api-docs.deepseek.com/zh-cn/api/create-completion
|
![]() |
4
ouTL034NxOke37E9 11 天前 ![]() @wwzz @smdbh 这个配置能用就是有点慢
"tabAutocompleteModel":{ "title": "DeepSeek Autocomplete", "model": "deepseek-chat", "apiKey": "sk-xxx", "provider": "deepseek", "apiBase": "https://api.deepseek.com/beta" } |
![]() |
5
l4ever 10 天前 ![]() qwen2.5-coder
|
6
smdbh OP @jaylee4869 , 再问下如何知道某个模型包含这个 FIM 功能?
|
![]() |
7
jaylee4869 9 天前 ![]() @smdbh 最快的方法是看对应的 API 文档, 进去搜 FIM 。
deepseek 文档你看到了, 其实这类仅仅是 LLM 的一种应用,特定的训练基于固定模板的 FIM Prompt ,一般都是这样: prompt = '<|fim_prefix|>' + prefix_code + '<|fim_suffix|>' + suffix_code + '<|fim_middle|>' 所以你可以尝试直接问某个模型: ``` <|fim_prefix|>System.out.Pri<|fim_suffix|>;<|fim_middle|> ``` 看是不是*直接*回复类似 `ntln("Hello, World!")<|fim_suffix|>;` 这样的内容,而没有口语字词,说明这种模型使用 FIM 训练过,也就支持 FIM 。 Reference: https://openai.com/index/efficient-training-of-language-models-to-fill-in-the-middle/ https://github.com/QwenLM/Qwen2.5-Coder?tab=readme-ov-file#3-file-level-code-completion-fill-in-the-middle |