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