smdbh
V2EX  ›  问与答

想问下,代码智能补全是用什么类型模型

  •  
  •   smdbh · Feb 11, 2025 · 2237 views
    This topic created in 487 days ago, the information mentioned may be changed or developed.

    现在是用 vscode, copilot 是好用,但有次数限制.换了 continue + 第三方 key. 但不知道 model 需要满足啥条件才能用. 现在比较好用的是啥模型? 谢谢

    7 replies    2025-02-12 16:43:15 +08:00
    AlexBob
        1
    AlexBob  
       Feb 11, 2025
    腾讯豆包.通义
    ouTL034NxOke37E9
        2
    ouTL034NxOke37E9  
       Feb 11, 2025
    同问
    lavvrence
        3
    lavvrence  
       Feb 11, 2025   ❤️ 1
    理论上所有 LLM 都支持代码补全,你想问的是一个叫 FIM ( Fill-In-the-Middle )的模版输出。比如 DeepSeek FIM API: https://api-docs.deepseek.com/zh-cn/api/create-completion
    ouTL034NxOke37E9
        4
    ouTL034NxOke37E9  
       Feb 11, 2025   ❤️ 1
    @wwzz @smdbh 这个配置能用就是有点慢
    "tabAutocompleteModel":{
    "title": "DeepSeek Autocomplete",
    "model": "deepseek-chat",
    "apiKey": "sk-xxx",
    "provider": "deepseek",
    "apiBase": "https://api.deepseek.com/beta"
    }
    luckyc
        5
    luckyc  
       Feb 12, 2025   ❤️ 1
    qwen2.5-coder
    smdbh
        6
    smdbh  
    OP
       Feb 12, 2025
    @jaylee4869 , 再问下如何知道某个模型包含这个 FIM 功能?
    lavvrence
        7
    lavvrence  
       Feb 12, 2025   ❤️ 1
    @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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2773 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 01:43 · PVG 09:43 · LAX 18:43 · JFK 21:43
    ♥ Do have faith in what you're doing.