ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

OpenAI 完成项

作者: yaroslavyaroslav ST4

支持 GPT-4o 和 llama.cpp 的第一类 Sublime Text AI 辅助工具!

详细信息

安装量

  • 总量 4K
  • Win 2K
  • Mac 1K
  • Linux 685
2023年8月6日 2023年8月5日 2023年8月4日 2023年8月3日 2023年8月2日 2023年8月1日 2023年7月31日 2023年7月30日 2023年7月29日 2023年7月28日 2023年7月27日 2023年7月26日 2023年7月25日 2023年7月24日 2023年7月23日 2023年7月22日 2023年7月21日 2023年7月20日 2023年7月19日 2023年7月18日 2023年7月17日 2023年7月16日 2023年7月15日 2023年7月14日 2023年7月13日 2023年7月12日 2023年7月11日 2023年7月10日 2023年7月9日 2023年7月8日 2023年7月7日 2023年7月6日 2023年7月5日 2023年7月4日 2023年7月3日 2023年7月2日 2023年7月1日 2023年6月30日 2023年6月29日 2023年6月28日 2023年6月27日 2023年6月26日 2023年6月25日 2023年6月24日 2023年6月23日 2023年6月22日
Windows 1 6 2 1 4 6 4 2 2 2 3 3 3 4 6 1 2 2 5 1 3 4 1 5 1 2 3 2 3 3 2 0 0 2 4 4 6 3 4 4 4 4 5 1 3 4
Mac 5 3 1 1 2 4 3 2 5 3 4 2 5 4 4 1 3 2 1 1 3 6 5 2 1 3 2 3 4 6 2 0 5 5 7 6 1 3 3 2 2 7 6 1 3 2
Linux 1 2 2 2 2 1 2 1 1 0 1 2 2 6 3 0 1 1 0 2 0 0 2 2 3 4 1 2 0 2 0 0 0 2 0 2 1 1 1 0 3 2 1 2 3 1

README文件

源代码
raw.​githubusercontent.​com

Star on GitHub

OpenAI Sublime Text 插件

tldr;

OpenAI Completion 是一个 Sublime Text 插件,使用 LLM 模型在编辑器内提供高级代码助手支持。

它不再仅仅限于 OpenAI,还支持 llama.cpp 服务器和 ollama

功能

  • 使用 OpenAI 模型添加、插入和编辑选定的代码。
  • 聊天模式 使用您想要的任何模型。
  • 支持 GPT-4.
  • llama.cpp 的服务器,Ollama 和所有其他 OpenAI 兼容的 API。
  • 项目 的专用聊天历史和助手设置。
  • 能够发送整个文件 或其部分以扩展上下文。
  • Markdown 语法与代码语言语法高亮(仅聊天模式)。
  • 服务器端流(SSE)(即您不需要长时间等待 GPT-4 打印出内容)。
  • 状态栏各种信息:模型名称、模式、发出的/接收到的令牌。
  • 代理支持。

ChatGPT 完成项演示

https://github.com/yaroslavyaroslav/OpenAI-sublime-text/assets/16612247/37b98cc2-e9cd-46a6-ac5d-03845313096b

视频播放速度加快到 1.7 倍


https://github.com/yaroslavyaroslav/OpenAI-sublime-text/assets/16612247/69f609f3-336d-48e8-a574-3cb7fda5822c

视频播放速度加快到 1.7 倍

要求

  • Sublime Text 4
  • llama.cppollama 已安装 或者
  • 远程 llm 服务提供商 API 密钥,例如 OpenAI

安装

  1. 如果您之前没有这样做,请安装 Sublime Text Package Control 插件。
  2. 打开命令面板,并键入 Package Control: Install Package
  3. 键入 OpenAI,然后按 Enter

使用方法

AI 辅助使用案例

ChatGPT 模式工作方式如下

  1. 选择一些文本或甚至整个选项卡,将它们包含在请求中
  2. 运行以下命令之一:OpenAI: Chat Model SelectOpenAI: Chat Model Select With Tabs
  3. 如有必要,请在输入窗口中输入请求。
  4. 默认情况下,模型将在输出面板中打印响应,但您可以使用 OpenAI: Open in Tab 将其切换到单独的选项卡。
  5. 要获取新窗口中的现有聊天,请运行 OpenAI: Refresh Chat
  6. 要重置历史记录,请使用 OpenAI: Reset Chat History 命令。

[!提醒] 您建议为了方便起见,在插件设置中绑定 OpenAI: New MessageOpenAI: Chat Model SelectOpenAI: Show output panel,您可以那样做。

聊天记录管理

您可以将指定项目的聊天历史和助手设置分开,方法是在其设置中添加以下代码片段

{   
    "settings": {
        "ai_assistant": {
            "cache_prefix": "your_name_project"
        }
    }
}

附加请求上下文管理

您可以在请求中添加一些内容:- 单个文件中的多行选择 - 单个视图组内的多个文件

要执行前者,只需在活动视图中选择一些内容,并通过这种方式发起请求(不需要切换到另一个选项卡),选择将作为 preceding message 添加到请求(每个选择块将分为新行)。

要提前发送整个文件(s)到请求,请使用 super+button1 在它们上,以确保它们的所有选项卡都成为一个 单个视图组,然后运行屏幕下所示的操作 [New Message|Chat Model] with Sheets 命令。注意,在此示例中,只有 README.md4.0.0.md 将发送到服务器,但不是 AI chat 的内容。

[!提醒] 如果文件存在于磁盘上或它只是一个包含文本的虚拟缓冲区,它们被选中时,内容将以这种方式发送。

在缓冲区 llm 用例中

  1. 您可以选择以下以下模式之一:appendreplaceinsert。它们相当具有描述性。它们应该在助手设置中设置才能生效。
  2. 选择一些要与之交互的文本(否则它们将毫无用处),然后点击 OpenAI: New Message
  3. 插件将相应地以 附加替换插入 的一些文本进行响应。

[!重要] 这是一种独立模式,即现有聊天历史在运行时不会发送到服务器。

[!提醒] 更详细的说明,包括各种助手配置示例,可以在插件设置中找到。

其他特色功能

支持开源模型(llama.cpp,ollama)

  1. 将给定模型的“url”设置更改为指向您在服务器上运行的主机(例如,"http://localhost:8080")。
  2. [可选] 如果您的提供商需要,请提供一个 "token"
  3. 将“chat_model”调整为所选模型,然后设置即可。

[!提醒] 您可以根据需要将 urltoken 全局或按每个助手实例设置,因此可以在单个会话中自由切换闭源和开源模型。

设置

OpenAI Completion 插件有一个设置文件,您可以在这里设置您的 OpenAI API 密钥。这是大多数提供商所需的工作。要设置您的 API 密钥,请打开 Preferences -> Package Settings -> OpenAI -> Settings,然后将 API 密钥粘贴到 token 属性中,如下所示

{
    "token": "sk-your-token",
}

键绑定

您可以在 Preferences -> Package Settings -> OpenAI -> Key Bindings 中为给定插件命令绑定键。例如,您可以绑定“New Message”命令如下

{
    "keys": [ "super+k", "super+'" ],
    "command": "openai",
    "args": { "mode": "chat_completion" }
},

[Multi]支持或多Markdown语法和高亮显示支持

它只需这样。

[!重要] 极其推荐安装 MultimarkdownEditing 来应用一组更广泛的语言和语法高亮显示。

代理支持

您可以通过覆盖“OpenAI 完成设置”中的代理属性来设置它,如下所示:

"proxy": {
    "address": "127.0.0.1", // required
    "port": 9898, // required
    "username": "account",
    "password": "sOmEpAsSwOrD"
}

免责声明

[!警告] 所有选中的代码都将发送到 OpenAI 服务器(如果不使用自定义 API 提供商)进行处理,请确保您拥有进行此操作的所有必要权限。

[!注意] 这篇文档最初有 80% 是由当时的 GPT3.5 完成的。我在这里主要是为了调试,而不是深入研究 ST API。这是一件纯粹的魔术,我发誓!