diff --git a/libs/client-api/src/http_chat.rs b/libs/client-api/src/http_chat.rs index 8648697e..8afdfefe 100644 --- a/libs/client-api/src/http_chat.rs +++ b/libs/client-api/src/http_chat.rs @@ -298,8 +298,17 @@ impl QuestionStream { } pub enum QuestionStreamValue { - Answer { value: String }, - Metadata { value: serde_json::Value }, + Answer { + value: String, + }, + /// Metadata is a JSON array object. its structure as below: + /// ```json + /// [ + /// {"id": "xx", "source": "", "name": "" } + /// ] + Metadata { + value: serde_json::Value, + }, } impl Stream for QuestionStream { type Item = Result; diff --git a/libs/database-entity/src/dto.rs b/libs/database-entity/src/dto.rs index bbfc28e3..a13b7050 100644 --- a/libs/database-entity/src/dto.rs +++ b/libs/database-entity/src/dto.rs @@ -682,7 +682,8 @@ impl ChatMetadataData { match self.content_type { ChatMetadataContentType::Text => self.content.len() == self.size as usize, ChatMetadataContentType::Markdown => self.content.len() == self.size as usize, - _ => true, + ChatMetadataContentType::Unknown => false, + ChatMetadataContentType::PDF => false, } } } @@ -692,8 +693,7 @@ pub enum ChatMetadataContentType { Unknown, Text, Markdown, - Pdf, - Custom(String), + PDF, } impl Display for ChatMetadataContentType { @@ -702,8 +702,7 @@ impl Display for ChatMetadataContentType { ChatMetadataContentType::Unknown => write!(f, "unknown"), ChatMetadataContentType::Text => write!(f, "txt"), ChatMetadataContentType::Markdown => write!(f, "markdown"), - ChatMetadataContentType::Pdf => write!(f, "pdf"), - ChatMetadataContentType::Custom(custom) => write!(f, "{}", custom), + ChatMetadataContentType::PDF => write!(f, "pdf"), } } }