Crates.io | llmvm-protocol |
lib.rs | llmvm-protocol |
version | 2.0.1 |
source | src |
created_at | 2023-08-09 17:36:02.652068 |
updated_at | 2024-09-19 01:18:13.914983 |
description | A library that contains protocol/communication elements for llmvm. |
homepage | |
repository | https://github.com/djandries/llmvm |
max_upload_size | |
id | 940216 |
size | 38,642 |
A library that contains protocol/communication elements for llmvm.
Uses multilink for stdio/local process and HTTP/remote process communication.
Contains:
All llmvm backends should implement the Backend
trait, and use the llmvm-backend-util crate to start a stdio or HTTP server.
Rust frontends should use util::build_core_service_from_config
in this crate to create a stdio or HTTP client, to communicate with the core.
Add the dependency to Cargo.toml
:
[dependencies]
llmvm-protocol = { version = "<version>", features = ["<http-server|http-client|stdio-server|stdio-client>"] }
Core and frontends will typically expose optional stdio client configuration. Here are the keys for the configuration structure:
Key | Required? | Description |
---|---|---|
bin_path |
No | Optional binary path for spawning child processes. Defaults to PATH. |
timeout_secs |
No | Timeout for client requests in seconds. |
Core and backends will typically expose optional stdio server configuration. Here are the keys for the configuration structure:
Key | Required? | Description |
---|---|---|
service_timeout_secs |
No | Timeout for service requests in seconds. |
Core and frontends will typically expose optional HTTP client configuration. Here are the keys for the configuration structure:
Key | Required? | Description |
---|---|---|
base_url |
Yes | Base URL/prefix for all outgoing requests. |
api_key |
If llmvm server has API key set | HTTP server API key to append to llmvm requests. The key will be inserted into the X-API-Key header. |
timeout_secs |
No | Timeout for client requests in seconds. |
Core and backends will typically expose optional HTTP server configuration. Here are the keys for the configuration structure:
Key | Required? | Description |
---|---|---|
port |
No | Port to listen on. Defaults to 8080. |
api_keys[] |
No | An optional set of permitted API keys for restricting access to the server. If omitted, an API key is not needed to make a request. |
service_timeout_secs |
No | Timeout for service requests in seconds. |
Reference documentation can be found on docs.rs.