现在是用 vscode, copilot 是好用,但有次数限制.换了 continue + 第三方 key. 但不知道 model 需要满足啥条件才能用. 现在比较好用的是啥模型? 谢谢
![]() | 1 AlexBob 241 天前 腾讯豆包.通义 |
![]() | 2 ouTL034NxOke37E9 241 天前 同问 |
![]() | 3 lavvrence 241 天前 ![]() 理论上所有 LLM 都支持代码补全,你想问的是一个叫 FIM ( Fill-In-the-Middle )的模版输出。比如 DeepSeek FIM API: https://api-docs.deepseek.com/zh-cn/api/create-completion |
![]() | 4 ouTL034NxOke37E9 241 天前 ![]() @wwzz @smdbh 这个配置能用就是有点慢 "tabAutocompleteModel":{ "title": "DeepSeek Autocomplete", "model": "deepseek-chat", "apiKey": "sk-xxx", "provider": "deepseek", "apiBase": "https://api.deepseek.com/beta" } |
5 luckyc 240 天前 ![]() qwen2.5-coder |
6 smdbh OP @jaylee4869 , 再问下如何知道某个模型包含这个 FIM 功能? |
![]() | 7 lavvrence 240 天前 ![]() @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 |