pub struct CacheKeyBuilder;Expand description
Utility for generating consistent cache keys.
This struct provides methods for creating deterministic cache keys based on request content and parameters.
§Examples
use ultrafast_models_sdk::cache::CacheKeyBuilder;
use ultrafast_models_sdk::models::ChatRequest;
let request = ChatRequest {
model: "gpt-4".to_string(),
messages: vec![Message::user("Hello")],
..Default::default()
};
let cache_key = CacheKeyBuilder::build_chat_key(&request);
println!("Cache key: {}", cache_key);Implementations§
Source§impl CacheKeyBuilder
impl CacheKeyBuilder
Sourcepub fn build_chat_key(request: &ChatRequest) -> String
pub fn build_chat_key(request: &ChatRequest) -> String
Build a cache key for chat completion requests.
Creates a deterministic hash-based key that includes the model, messages, and key parameters like temperature and max_tokens.
§Arguments
request- The chat completion request
§Returns
Returns a string cache key that is consistent for identical requests.
§Examples
use ultrafast_models_sdk::cache::CacheKeyBuilder;
use ultrafast_models_sdk::models::ChatRequest;
let request = ChatRequest {
model: "gpt-4".to_string(),
messages: vec![Message::user("Hello")],
temperature: Some(0.7),
max_tokens: Some(100),
..Default::default()
};
let cache_key = CacheKeyBuilder::build_chat_key(&request);
// Result: "chat:gpt-4:hash_value"Sourcepub fn build_embedding_key(model: &str, input: &str) -> String
pub fn build_embedding_key(model: &str, input: &str) -> String
Build a cache key for embedding requests.
Creates a deterministic hash-based key for embedding requests based on the model and input text.
§Arguments
model- The embedding model nameinput- The input text to embed
§Returns
Returns a string cache key for the embedding request.
§Examples
use ultrafast_models_sdk::cache::CacheKeyBuilder;
let cache_key = CacheKeyBuilder::build_embedding_key(
"text-embedding-ada-002",
"Hello, world!"
);
// Result: "embedding:text-embedding-ada-002:hash_value"Sourcepub fn build_image_key(model: &str, prompt: &str) -> String
pub fn build_image_key(model: &str, prompt: &str) -> String
Build a cache key for image generation requests.
Creates a deterministic hash-based key for image generation based on the model and prompt.
§Arguments
model- The image generation model nameprompt- The text prompt for image generation
§Returns
Returns a string cache key for the image generation request.
§Examples
use ultrafast_models_sdk::cache::CacheKeyBuilder;
let cache_key = CacheKeyBuilder::build_image_key(
"dall-e-3",
"A beautiful sunset over mountains"
);
// Result: "image:dall-e-3:hash_value"Sourcepub fn hash_content(content: &str) -> String
pub fn hash_content(content: &str) -> String
Hash content for cache key generation.
Creates a consistent hash of the provided content string.
§Arguments
content- The content to hash
§Returns
Returns a hexadecimal string representation of the hash.
§Examples
use ultrafast_models_sdk::cache::CacheKeyBuilder;
let hash = CacheKeyBuilder::hash_content("Hello, world!");
println!("Content hash: {}", hash);