| Crates.io | llmvm-protocol |
| lib.rs | llmvm-protocol |
| version | 2.0.1 |
| created_at | 2023-08-09 17:36:02.652068+00 |
| updated_at | 2024-09-19 01:18:13.914983+00 |
| 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.