ai_chain_milvus/
errors.rs1use thiserror::Error;
2
3use ai_chain::traits::{EmbeddingsError, VectorStoreError};
4
5use milvus::error::Error as InnerError;
6
7#[derive(Debug, Error)]
8pub enum MilvusError<E>
9where
10 E: std::fmt::Debug + std::error::Error + EmbeddingsError,
11{
12 #[error(transparent)]
13 Embeddings(#[from] E),
14 #[error("Milvus Client Error")]
15 Client(InnerError),
16 #[error("Milvus payload column doesn't exist")]
17 InvalidColumnName,
18 #[error("Milvus insertion error")]
19 InsertionError,
20 #[error("No indexes on collection vector field")]
21 EmptyIndexError,
22 #[error("Milvus query error")]
23 QueryError,
24 #[error("Serde Error")]
25 Serde(serde_json::Error),
26}
27
28impl<E> VectorStoreError for MilvusError<E> where
29 E: std::fmt::Debug + std::error::Error + EmbeddingsError
30{
31}