1个不稳定版本
0.1.1 | 2023年8月9日 |
---|---|
0.1.0 |
|
#624 在 配置 中排名
每月107次 下载
用于 8 个Crate (6直接)
8KB
139 行
llmvm
一种用于语言模型的协议和模块化应用程序套件。
包括一个代码助手,它可以自动从语言服务器协议服务器检索上下文,由LSP提供支持。
概述
llmvm由三种类型的可执行应用程序组成
该协议作为上述应用程序之间的粘合剂。使用multilink和tower来实现。
可用的Crate
- 前端
- codeassist:一个由LLM支持的代码助手,可以从语言服务器协议服务器自动检索上下文(即类型定义)
- chat:一个CLI聊天界面
- 核心
- 后端
IPC细节
每个组件可以通过三种方法与依赖组件交互
- 本地子进程:组件将依赖组件作为子进程调用,并通过stdio使用JSON-RPC进行通信
- 远程HTTP服务:依赖组件充当HTTP API,而依赖组件配置为向API发送网络请求
- 直接链接:核心和后端有可以直接使用的库crates。只有当依赖组件是Rust应用程序时才有效。
这允许一些灵活的托管配置。以下是一些示例
优点
- 用于状态管理的文本生成请求的单个协议
- 前端或后端可以用任何语言实现,只需要有stdio和/或HTTP服务器/客户端即可。
- 使用Handlebars进行提示模板,允许强大的提示生成
- 在文件系统上保存消息线程、预设和提示模板,以便轻松编辑/调整
- 工作区/项目管理,以将项目状态从全局状态隔离出来
- 模块化设计;任何组件都可以通过CLI由用户调用以进行一次性低级或高级请求。
安装
需要cargo
来安装二进制文件。使用rustup安装cargo。
通过运行以下命令安装核心
cargo install llmvm-core
安装“可用crates”下列出的所需前端和后端。查看它们的README以获取更多信息。
用法/配置
有关用法和配置的更多信息,请参阅每个相关组件的README。
模型ID
llmvm中的模型ID由三部分组成的字符串
<backend name>/<provider name>/<model name>
提供者名称必须以-chat
或-text
后缀结尾
示例
outsource/openai-chat/gpt-3.5-turbo
outsource/anthropic-chat/claude-3-5-sonnet-20240620
llmrs/llmrs-text/mpt-7b-chat-q4_0-ggjt
默认情况下,核心将调用llmvm-<后端名称>
过程以进行本地进程通信。
预设/项目/线程/提示模板
有关更多信息,请参阅核心README。
模型权重
请参阅相关后端README(例如llmrs)。
许可
依赖项
~4–18MB
~188K SLoC