Skip to main content

Crate conversation_codec

Crate conversation_codec 

Source
Expand description

conversation-codec: JSONL save/load for LLM conversation messages.

One JSON object per line — appends are cheap and partial files are recoverable. Optional per-message redaction via a callback.

use conversation_codec::Codec;
use serde_json::json;

let messages = vec![
    json!({"role": "user", "content": "hello"}),
    json!({"role": "assistant", "content": "hi there"}),
];

let dir = std::env::temp_dir();
let path = dir.join("conv_doctest.jsonl");

let codec = Codec::new();
codec.save(&messages, &path).unwrap();
let loaded = codec.load(&path).unwrap();

assert_eq!(loaded.len(), 2);
assert_eq!(loaded[0]["role"], json!("user"));
std::fs::remove_file(&path).ok();

Structs§

Codec
JSONL conversation codec.

Enums§

CodecError