MCPcopy Create free account
hub / github.com/cosdata/cosdata / random_vector

Function random_vector

src/models/wal.rs:401–439  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

399 }
400
401 fn random_vector() -> RawVectorEmbedding {
402 let mut rng = thread_rng();
403 let dense_len = rng.gen_range(1..8);
404 let metadata_len = rng.gen_range(1..4);
405 let sparse_len = rng.gen_range(0..4);
406 let bytes_len = rng.gen_range(100..200);
407
408 let mut metadata = HashMap::new();
409 for _ in 0..metadata_len {
410 let key = random_string(5);
411 let val = if rng.gen_bool(0.5) {
412 FieldValue::Int(rng.gen_range(-1000..1000))
413 } else {
414 FieldValue::String(random_string(6))
415 };
416 metadata.insert(key, val);
417 }
418
419 let mut bytes = Vec::with_capacity(bytes_len);
420
421 for _ in 0..bytes_len {
422 bytes.push(rng.gen());
423 }
424
425 RawVectorEmbedding {
426 id: random_string(8).into(),
427 document_id: Some(random_string(12).into()),
428 dense_values: Some((0..dense_len).map(|_| rng.gen()).collect()),
429 metadata: Some(metadata),
430 use_usv: true,
431 sparse_values: Some(
432 (0..sparse_len)
433 .map(|_| SparsePair(rng.gen(), rng.gen()))
434 .collect(),
435 ),
436 text: Some(random_string(16)),
437 bytes: Some(bytes),
438 }
439 }
440
441 fn reopen_wal(dir: &std::path::Path, txn_id: u32) -> WALFile {
442 WALFile::from_existing(dir, VersionNumber::from(txn_id)).unwrap()

Callers 2

Calls 4

SparsePairClass · 0.85
random_stringFunction · 0.70
insertMethod · 0.45
pushMethod · 0.45

Tested by 2