2个稳定版本
2.0.0 | 2024年1月23日 |
---|---|
1.0.0 | 2023年8月9日 |
#1280 在 网络编程
93 每月下载量
用于 7 crates
47KB
861 行
llmvm-protocol
包含llmvm协议/通信元素的库。
使用multilink进行stdio/本地进程和HTTP/远程进程通信。
包含
所有llmvm后端都应该实现Backend
特质,并使用llmvm-backend-util crate启动stdio或HTTP服务器。
Rust前端应使用此crate中的util::build_core_service_from_config
来创建stdio或HTTP客户端,以与核心通信。
用法
在Cargo.toml
中添加依赖项
[dependencies]
llmvm-protocol = { version = "<version>", features = ["<http-server|http-client|stdio-server|stdio-client>"] }
配置
stdio客户端配置
核心和前端通常会公开可选的stdio客户端配置。以下是配置结构的键
键 | 必需吗? | 描述 |
---|---|---|
bin_path |
否 | 用于启动子进程的可选二进制路径。默认为PATH。 |
timeout_secs |
否 | 客户端请求的超时时间(秒)。 |
stdio服务器配置
核心和后端通常会公开可选的stdio服务器配置。以下是配置结构的键
键 | 必需吗? | 描述 |
---|---|---|
service_timeout_secs |
否 | 服务请求的超时时间(秒)。 |
HTTP客户端配置
核心和前端通常会公开可选的HTTP客户端配置。以下是配置结构的键
键 | 必需吗? | 描述 |
---|---|---|
base_url |
是 | 所有出站请求的基础URL/前缀。 |
api_key |
如果llmvm服务器设置了API密钥 | HTTP服务器API密钥,用于附加到llmvm请求。该密钥将被插入到X-API-Key 头部。 |
timeout_secs |
否 | 客户端请求的超时时间(秒)。 |
HTTP服务器配置
核心和后端通常将公开可选的HTTP服务器配置。以下是配置结构的键
键 | 必需吗? | 描述 |
---|---|---|
端口 |
否 | 监听的端口。默认为8080。 |
api_keys[] |
否 | 一组可选的允许API密钥,用于限制对服务器的访问。如果省略,则不需要API密钥即可进行请求。 |
service_timeout_secs |
否 | 服务请求的超时时间(秒)。 |
参考文档
参考文档可以在docs.rs上找到。
许可
依赖项
~5–19MB
~251K SLoC