llm.nvim(https://github.com/StubbornVegeta/llm.nvim)是一款基于cloudflare的免费大模型插件,你可以像使用ChatGPT一样和它进行对话
在使用这款插件之前,你需要注册cloudflare,获取你的account和API key。你可以在这里(Models | Cloudflare Workers AI docs)看到所有可用的模型,其中标注beta的是免费模型,每天有10万次的使用额度
安装
- 在zshrc或者bashrc中设置ACCOUNT和LLM_KEY环境变量
export ACCOUNT=<your account>
export LLM_KEY=<your api key>
- 使用插件管理器安装llm.nvim
lazy.nvim
{
"StubbornVegeta/llm.nvim",
dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim" },
cmd = { "LLMSesionToggle", "LLMSelectedTextHandler" },
config = function()
require("llm").setup()
end,
keys = {
{ "<leader>ac", mode = "n", "<cmd>LLMSessionToggle<cr>" },
{ "<leader>ae", mode = "v", "<cmd>LLMSelectedTextHandler 请解释下面这段代码<cr>" },
{ "<leader>t", mode = "x", "<cmd>LLMSelectedTextHandler 英译汉<cr>" },
},
},
其中
- LLMSessionToggle可开启一段对话
- LLMSelectedTextHandler函数可将输入的提示词与选中的文本结合,一起输入给LLM,并将LLM的输出展示在弹窗中。
配置
llm.nvim支持各种自定义的配置
- 自定义系统提示词(prompt),最大token数(max_tokens),使用的模型(model)
- 自定义聊天中user和assistant的标识
- 是否展示历史对话记录(save_session),如果save_session = false, 那么History窗口将不会出现,同时也不会记录历史对话;如果save_session = true,还可以进一步配置历史对话保存位置(history_path),以及最多保存文件数 (max_history)
- 自定义聊天窗口的风格(位置,大小,边框,高亮,透明度等)
- 自定义每个窗口的快捷键
具体参见:GitHub - StubbornVegeta/llm.nvim: example-configuration