qdrant_client/builders/
dense_vector_builder.rs1use crate::qdrant::*;
2
3pub struct DenseVectorBuilder {
4 pub(crate) values: Vec<f32>,
5}
6
7impl DenseVectorBuilder {
8 pub fn new(values: impl Into<Vec<f32>>) -> Self {
9 Self {
10 values: values.into(),
11 }
12 }
13
14 #[allow(unused_mut)]
15 pub fn values(mut self, values: impl Into<Vec<f32>>) -> Self {
16 self.values = values.into();
17 self
18 }
19
20 pub fn build(self) -> DenseVector {
22 DenseVector { data: self.values }
23 }
24}
25
26impl From<Vec<f32>> for DenseVector {
27 fn from(values: Vec<f32>) -> Self {
28 DenseVectorBuilder::new(values).build()
29 }
30}
31
32impl From<DenseVector> for Vector {
33 fn from(dense_vector: DenseVector) -> Self {
34 crate::qdrant::vector::Vector::from(dense_vector).into()
35 }
36}
37
38impl From<DenseVectorBuilder> for Vector {
39 fn from(dense_vector: DenseVectorBuilder) -> Self {
40 crate::qdrant::vector::Vector::from(dense_vector.build()).into()
41 }
42}
43
44impl From<DenseVector> for crate::qdrant::vector::Vector {
45 fn from(dense_vector: DenseVector) -> Self {
46 Self::Dense(dense_vector)
47 }
48}