From d5fa1809eb0932fd90d919d81288f02dde4fe19c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ozan=20Arma=C4=9Fan?= <70442658+ozanarmagan@users.noreply.github.com> Date: Tue, 16 Jul 2024 05:26:21 +0300 Subject: [PATCH] Fix hanging issue when no response from OpenAI API (#1841) Co-authored-by: Kishore Nallan --- src/collection.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/collection.cpp b/src/collection.cpp index dfac82f7..d9fe2a82 100644 --- a/src/collection.cpp +++ b/src/collection.cpp @@ -1371,7 +1371,7 @@ Option Collection::validate_and_standardize_sort_fields(const std::vector< auto embedding_op = embedder->Embed(embed_query, remote_embedding_timeout_ms, remote_embedding_num_tries); if(!embedding_op.success) { - if(!embedding_op.error["error"].get().empty()) { + if(embedding_op.error.contains("error")) { return Option(400, embedding_op.error["error"].get()); } else { return Option(400, embedding_op.error.dump()); @@ -1426,7 +1426,7 @@ Option Collection::validate_and_standardize_sort_fields(const std::vector< auto embedding_op = embedder->Embed(embed_query, remote_embedding_timeout_ms, remote_embedding_num_tries); if(!embedding_op.success) { - if(!embedding_op.error["error"].get().empty()) { + if(embedding_op.error.contains("error")) { return Option(400, embedding_op.error["error"].get()); } else { return Option(400, embedding_op.error.dump()); @@ -2020,7 +2020,7 @@ Option Collection::search(std::string raw_query, std::string embed_query = embedder_manager.get_query_prefix(search_field.embed[fields::model_config]) + query; auto embedding_op = embedder->Embed(embed_query, remote_embedding_timeout_ms, remote_embedding_num_tries); if(!embedding_op.success) { - if(!embedding_op.error["error"].get().empty()) { + if(embedding_op.error.contains("error")) { return Option(400, embedding_op.error["error"].get()); } else { return Option(400, embedding_op.error.dump()); @@ -6851,7 +6851,7 @@ Option Collection::parse_and_validate_vector_query(const std::string& vect auto embedding_op = embedder->Embed(embed_query, remote_embedding_timeout_ms, remote_embedding_num_tries); if(!embedding_op.success) { - if(!embedding_op.error["error"].get().empty()) { + if(embedding_op.error.contains("error")) { return Option(400, embedding_op.error["error"].get()); } else { return Option(400, embedding_op.error.dump());