aboutsummaryrefslogtreecommitdiffstats
path: root/lua/plugins/llm.lua
blob: cf8f8bfea3bf939aaa049d7ee8b583b65dcdd685 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
return {
    'huggingface/llm.nvim',
    config = function()
      require('llm').setup({
        api_token = "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", -- cf Install paragraph
        -- parameters that are added to the request body
        query_params = {
          max_new_tokens = 60,
          temperature = 0.2,
          top_p = 0.95,
          -- stop_token = "<|endoftext|>",
          stop_token = nil,
        },
        lsp = {
          enabled = false,
          bin_path = vim.api.nvim_call_function("stdpath", { "data" }) .. "/mason/bin/llm-ls",
        },
        debounce_ms = 80,
        accept_keymap = "<M-Right>",
        dismiss_keymap = "<S-Tab>",

        enable_suggestions_on_startup = true,
        enable_suggestions_on_files = "*", -- pattern matching syntax to enable suggestions on specific files, either a string or a list of strings
        -- model = "bigcode/starcoder", -- can be a model ID or an http(s) endpoint
        -- context_window = 8192,
        -- tokens_to_clear = { "<|endoftext|>" },
        -- tokenizer = {
        --   path = "~/.config/tokenizer/starcoder/tokenizer.json"
        -- },
        -- -- set this if the model supports fill in the middle
        -- fim = {
        --   enabled = true,
        --   prefix = "<fim_prefix>",
        --   middle = "<fim_middle>",
        --   suffix = "<fim_suffix>",
        -- },
        model = "codellama/CodeLlama-7b-hf",
        context_window = 4096,
        tokens_to_clear = { "<EOT>" },
        tokenizer = {
          path = "~/.config/tokenizer/codellama/tokenizer.json",
        },
        fim = {
          enabled = true,
          prefix = "<PRE> ",
          middle = " <MID>",
          suffix = " <SUF>",
        },
      })
    end
}