首页 > 其他分享 >llm.nvim 支持在neovim中使用kimi

llm.nvim 支持在neovim中使用kimi

时间:2024-09-21 13:50:55浏览次数:8  
标签:neovim moonshot end idx v1 kimi llm line nvim

llm.nvim

llm.nvimhttps://github.com/Kurama622/llm.nvim)是一个为大型语言模型(LLM)设计的通用插件,旨在使用户能够在neovim中与LLM进行交互。

您可以自定义您希望使用的任何LLM(比如智谱清言、kimi、通义千问等)。

最后,也是最重要的,您可以使用各种免费模型(无论是由Cloudflare还是其他提供者)。

让我们看一下如何在llm.nvim中使用kimi

使用自定义的LLM

  1. 你需要在 https://platform.moonshot.cn/console/account上面注册,获取你的API KEY

  2. 在zshrc或者bashrc中设置 LLM_KEY 环境变量

export LLM_KEY=<Your API_KEY>
  1. 按照以下步骤配置llm.nvim:
  • lazy.nvim
local kimi_handler = function(chunk, line, output, bufnr, winid, F)
  if not chunk then
    return output
  end
  local tail = chunk:sub(-1, -1)
  if tail:sub(1, 1) ~= "}" then
    line = line .. chunk
  else
    line = line .. chunk

    local start_idx = line:find("data: ", 1, true)
    local end_idx = line:find("}]", 1, true)
    local json_str = nil

    while start_idx ~= nil and end_idx ~= nil do
      if start_idx < end_idx then
        json_str = line:sub(7, end_idx + 1) .. "}"
      end
      local data = vim.fn.json_decode(json_str)
      if not data.choices[1].delta.content then
        break
      end

      output = output .. data.choices[1].delta.content
      F.WriteContent(bufnr, winid, data.choices[1].delta.content)

      if end_idx + 2 > #line then
        line = ""
        break
      else
        line = line:sub(end_idx + 2)
      end
      start_idx = line:find("data: ", 1, true)
      end_idx = line:find("}]", 1, true)
    end
  end
  return output
end

return {
  {
    "Kurama622/llm.nvim",
    dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim" },
    cmd = { "LLMSesionToggle", "LLMSelectedTextHandler", "LLMAppHandler" },
    config = function()
      require("llm").setup({
        -- kimi
        url = "https://api.moonshot.cn/v1/chat/completions",
        model = "moonshot-v1-128k", -- "moonshot-v1-8k", "moonshot-v1-32k", "moonshot-v1-128k"
        streaming_handler = kimi_handler,

        max_tokens = 4095,
        temperature = 0.7,

        prompt = [[]],

        prefix = {
          user = { text = "

标签:neovim,moonshot,end,idx,v1,kimi,llm,line,nvim
From: https://blog.csdn.net/qq_62825352/article/details/142415858

相关文章

  • 光电式液位传感器LLM12DH05 国产替代英国SST LLC系列型号
    LLM12DH05光电液位传感器是利用光在两种不同介质界面发生反射折射原理,是一种新型接触式点液位测控装置。可以单点检测,TTL兼容数字电平信号输出,适用于运输及军工等行业生产。⚫应用邻域/Application鱼缸/fishtank 热水器/waterheater 咖啡机/Coffeemachine 小家电/Hous......
  • LLM DATASET
    大模型的能力来源https://arxiv.org/pdf/2402.18041  大模型合规来源https://arxiv.org/html/2402.12193v2    大模型的罪恶检测来源https://www.kaggle.com/datasets/odins0n/ucf-crime-dataset/data  codemathhttps://github.com/mlabonne/llm-data......
  • A星、Floyod、Bellman-Ford
    A星算法A星和Dijkstra算法唯一区别在于堆中排序的依据。distance数组仍然保存实际代价,预估代价只影响堆的弹出顺序。Dijkstra根据源点到当前点的实际代价进行排序。A星根据源点到当前点的实际代价+当前点到终点的预估代价进行排序预估函数要求:当前点到终点的预......
  • LLM基础概念:大模型参数到底是什么?作用是什么?
        对于大模型及相关应用的测试同学来说,掌握大模型的参数概念及作用,以及调参非常重要,不然的话,在测试中面对模型的一顿输出,我们满脸的懵逼......
  • 【大语言模型(LLM)智能体】
    目录大语言模型智能体框架简介​智能体规划无反馈规划有反馈的规划内存工具大语言模型智能体的应用领域​编辑著名的大语言模型智能体大语言模型智能体工具​编辑大语言模型智能体的评估​编辑挑战参考资料大语言模型(LLM)智能体,是一种利用大语言模型进行复杂任......
  • qwen2.5 vllm推理;openai function call调用中文离线agents使用
    参考:https://qwenlm.github.io/zh/blog/qwen2.5/https://qwen.readthedocs.io/zh-cn/latest/framework/function_call.html#vllm安装:pipinstall-Uvllm-ihttps://pypi.tuna.tsinghua.edu.cn/simplevllm-0.6.1.post2运行:</......
  • 1-bit 大模型(LLM)时代的到来
     人工智能咨询培训老师叶梓转载标明出处模型规模的扩大带来了部署上的挑战,并因其高能耗引对环境和经济产生了影响。为了应对这些挑战,研究者们开始探索使用低位宽量化技术来降低模型的推理成本,同时保持模型性能。微软公司和中国科学院大学的研究团队提出了一种名为BitNetb1.......
  • LLM - 理解 多模态大语言模型(MLLM) 的 评估(Evaluation) 与相关技术 (六)
    欢迎关注我的CSDN:https://spike.blog.csdn.net/本文地址:https://spike.blog.csdn.net/article/details/142364884免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。评估(Evaluation)是研发多模态大语言模型(MLLM)的重要部分,也为模型的优化提......
  • LLM学习笔记-长度外推技术
    长度外推为在不需要对模型进行额外训练的情况下,模型可以处理更长的序列。本篇文章主要介绍目前大模型用到的一些长度外推技术,包括以RoPE为基础进行位置插值、NTK-aware、动态NTK、NTK-by-parts和YaRN。关于RoPE,可参见我的上一篇博客LLM学习笔记-位置编码篇位置插值回想一下Tran......
  • 2025秋招LLM大模型多模态面试题(六)-KV缓存
    目录为什么Transformer推理需要KV缓存?KV缓存的具体实现没有缓存的情况下使用缓存的情况下KV缓存在解码中的阶段划分Prefil阶段Decoding阶段KV缓存的存储类型及显存占用计算KV缓存的局限与优化策略超长文本与复杂模型场景下的瓶颈量化方案的应用量化方......