2个稳定版本

2.0.0 2024年1月23日
1.0.0 2023年8月9日

#1280网络编程

Download history 21/week @ 2024-03-11 14/week @ 2024-03-18 25/week @ 2024-03-25 77/week @ 2024-04-01 8/week @ 2024-04-08 10/week @ 2024-04-15 15/week @ 2024-04-22 10/week @ 2024-04-29 17/week @ 2024-05-06 2/week @ 2024-05-13 26/week @ 2024-05-20 19/week @ 2024-05-27 19/week @ 2024-06-03 16/week @ 2024-06-10 27/week @ 2024-06-17 30/week @ 2024-06-24

93 每月下载量
用于 7 crates

MPL-2.0 许可证

47KB
861

llmvm-protocol

Crates.io docs.rs GitHub

包含llmvm协议/通信元素的库。

使用multilink进行stdio/本地进程和HTTP/远程进程通信。

包含

  • 核心和后端通信的请求/响应类型
  • 核心和后端实现的特质
  • multilink / tower 服务
  • multilink提供JSON-RPC和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上找到。

许可

Mozilla公共许可证,版本2.0

依赖项

~5–19MB
~251K SLoC