OpenAI Sublime Text 插件
简短说明
OpenAI Completion 是一个 Sublime Text 插件,使用 LLM 模型在编辑器内提供顶级代码助手支持。
它不仅仅支持 OpenAI,现在还支持 llama.cpp 服务器和 ollama。
特性
- 使用 OpenAI 模型对选中的代码进行操作(追加、插入和编辑)。
- 聊天模式 支持您选择的任何模型。
- 支持 GPT-4。
- llama.cpp 服务器,Ollama 以及所有 OpenAI API 兼容的服务。
- 专用聊天记录 和项目专属助手设置。
- 能够发送整个文件或其部分作为上下文扩展。
- Markdown 语法和代码语言语法高亮(仅限聊天模式)。
- 服务器端流式传输(SSE)(即您不必等到 GPT-4 完全打印结束后才看到结果)。
- 状态栏各种信息:模型名称、模式、发送/接收的代币数。
- 代理支持。
ChatGPT 完成演示
视频加速到 1.7 倍
视频加速到 1.7 倍
要求
- Sublime Text 4
- 安装 llama.cpp,ollama 或
- 远程 LLM 服务提供商的 API 密钥,例如 OpenAI
安装
- 安装 Sublime Text Package Control 插件(如果之前没有安装过)。
- 打开命令面板并输入
Package Control: Install Package
。 - 输入
OpenAI
并按Enter
。
使用方法
AI 助手用例
ChatGPT 模式按以下方式工作:
- 选择一些文本或整个标签页以将它们包括在请求中
- 运行
OpenAI: Chat Model Select
或OpenAI: Chat Model Select With Tabs
命令。 - 在输入窗口中输入请求(如果有)。
- 默认情况下模型会在输出面板中打印响应,但您可以通过
OpenAI: Open in Tab
切换到单独的标签页。 - 若要在新窗口中获取现有聊天,请运行
OpenAI: Refresh Chat
。 - 若要重置历史记录,请使用
OpenAI: Reset Chat History
命令。
[!注意] 为了方便起见,建议至少绑定
OpenAI: New Message
,OpenAI: Chat Model Select
和OpenAI: Show output panel
,您可以在插件设置中进行绑定。
聊天记录管理
您可以通过在项目设置中添加以下代码段来分别管理聊天记录和助手设置:
{
"settings": {
"ai_assistant": {
"cache_prefix": "your_name_project"
}
}
}
附加请求上下文管理
您可以向请求中添加一些内容:
- 在单个文件中进行多行选择
- 在单个视图组中选择多个文件
要执行前者,只需在活动视图中选择一些内容并发起请求,而无需切换到其他标签,选择将作为前置消息添加到请求中(每个选择块将被换行符分隔)。
要提前发送整个文件,请在文件上 super+button1
使它们的所有标签可见于单个视图组,然后运行 [New Message|Chat Model] with Sheets
命令,如下图所示。请注意,示例中只有 README.md
和 4.0.0.md
将被发送到服务器,而 AI chat
的内容不会被发送。
[!注意] 文件是否存在于磁盘上并不重要,甚至只是包含文本的虚拟缓冲区,如果被选中,其内容仍将被发送。
在缓冲区中使用 llm 用例
- 您可以选择以下模式之一:
append
,replace
,insert
。它们非常容易理解。设置在助手设置中生效。 - 选择一些文本(否则它们没什么用),并点击
OpenAI: New Message
。 - 插件将根据 追加、替换 或 插入 一些文本。
[!重要] 这是一个独立模式,即现有的聊天记录在运行时不会被发送到服务器。
[!注意] 更多详细的手册,包括各种助手配置示例,可以在插件设置中找到。
其他特性
支持开源模型(llama.cpp、ollama)
- 更改给定模型的
"url"
设置,使其指向您的服务器运行的主机(例如"http://localhost:8080"
)。 - [可选] 如果您的提供商需要,请提供
"token"
。 - 调整
"chat_model"
为您选择的模型即可。
[!注意] 您可以设置
url
和token
为全局或者各助手实例单独设置,从而能够在单个会话中在闭源和开源模型之间自由切换。
设置
OpenAI Completion 插件有一个设置文件,您可以在其中设置您的 OpenAI API 密钥。这是大多数提供商工作所必需的。要设置 API 密钥,请打开 Preferences
-> Package Settings
-> OpenAI
-> Settings
,并在 token 属性中粘贴您的 API 密钥,如下所示:
{
"token": "sk-your-token",
}
键绑定
您可以在 Preferences
-> Package Settings
-> OpenAI
-> Key Bindings
中为给定插件命令绑定键。例如,您可以这样绑定"New Message"命令:
{
"keys": [ "super+k", "super+'" ],
"command": "openai",
"args": { "mode": "chat_completion" }
},
[多]Markdown 语法支持语法高亮
它可以正常工作。
[!重要] 强烈推荐安装
MultimarkdownEditing
以应用更广泛的语言语法高亮。
代理支持
您可以通过覆盖 OpenAI completion
设置中的 proxy 属性来设置代理,如下所示:
"proxy": {
"address": "127.0.0.1", // 必填
"port": 9898, // 必填
"username": "account",
"password": "sOmEpAsSwOrD"
}
免责声明
[!警告] 所有选中的代码将被发送到 OpenAI 服务器(如果不使用自定义 API 提供商)进行处理,因此请确保您拥有必要的权限。
[!注意] 这款插件最初由 GPT-3.5 编写了 80%,我主要负责调试,而不是深入研究 ST API。这真的是一种魔法,我发誓!