diff --git a/backend/open_webui/retrieval/vector/dbs/elasticsearch.py b/backend/open_webui/retrieval/vector/dbs/elasticsearch.py index 18a915e381..727d831cff 100644 --- a/backend/open_webui/retrieval/vector/dbs/elasticsearch.py +++ b/backend/open_webui/retrieval/vector/dbs/elasticsearch.py @@ -2,6 +2,8 @@ from elasticsearch import Elasticsearch, BadRequestError from typing import Optional import ssl from elasticsearch.helpers import bulk, scan + +from open_webui.retrieval.vector.utils import stringify_metadata from open_webui.retrieval.vector.main import ( VectorDBBase, VectorItem, @@ -243,7 +245,7 @@ class ElasticsearchClient(VectorDBBase): "collection": collection_name, "vector": item["vector"], "text": item["text"], - "metadata": item["metadata"], + "metadata": stringify_metadata(item["metadata"]), }, } for item in batch @@ -264,7 +266,7 @@ class ElasticsearchClient(VectorDBBase): "collection": collection_name, "vector": item["vector"], "text": item["text"], - "metadata": item["metadata"], + "metadata": stringify_metadata(item["metadata"]), }, "doc_as_upsert": True, } diff --git a/backend/open_webui/retrieval/vector/dbs/opensearch.py b/backend/open_webui/retrieval/vector/dbs/opensearch.py index 7e16df3cfb..510070f97a 100644 --- a/backend/open_webui/retrieval/vector/dbs/opensearch.py +++ b/backend/open_webui/retrieval/vector/dbs/opensearch.py @@ -2,6 +2,7 @@ from opensearchpy import OpenSearch from opensearchpy.helpers import bulk from typing import Optional +from open_webui.retrieval.vector.utils import stringify_metadata from open_webui.retrieval.vector.main import ( VectorDBBase, VectorItem, @@ -200,7 +201,7 @@ class OpenSearchClient(VectorDBBase): "_source": { "vector": item["vector"], "text": item["text"], - "metadata": item["metadata"], + "metadata": stringify_metadata(item["metadata"]), }, } for item in batch @@ -222,7 +223,7 @@ class OpenSearchClient(VectorDBBase): "doc": { "vector": item["vector"], "text": item["text"], - "metadata": item["metadata"], + "metadata": stringify_metadata(item["metadata"]), }, "doc_as_upsert": True, }