Skip to main content

ai_chain_milvus/
errors.rs

1use 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}