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