From 9b1fd86aa7f27b565b2c8fa28b99bead0ff1038a Mon Sep 17 00:00:00 2001 From: Varun Chawla <34209028+veeceey@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:16:44 -0800 Subject: [PATCH] fix: use keyword argument for IndicesClient.refresh() for opensearch-py 3.x (#21248) In opensearch-py >= 3.0.0, IndicesClient.refresh() no longer accepts the index name as a positional argument. This causes a TypeError when uploading documents to knowledge bases with OpenSearch backend. Changes positional arguments to keyword arguments (index=...) in all three refresh() calls in the OpenSearch vector DB client. Fixes #20649 --- backend/open_webui/retrieval/vector/dbs/opensearch.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/open_webui/retrieval/vector/dbs/opensearch.py b/backend/open_webui/retrieval/vector/dbs/opensearch.py index dc9c35805e..ed5a931c68 100644 --- a/backend/open_webui/retrieval/vector/dbs/opensearch.py +++ b/backend/open_webui/retrieval/vector/dbs/opensearch.py @@ -211,7 +211,7 @@ class OpenSearchClient(VectorDBBase): for item in batch ] bulk(self.client, actions) - self.client.indices.refresh(self._get_index_name(collection_name)) + self.client.indices.refresh(index=self._get_index_name(collection_name)) def upsert(self, collection_name: str, items: list[VectorItem]): self._create_index_if_not_exists( @@ -234,7 +234,7 @@ class OpenSearchClient(VectorDBBase): for item in batch ] bulk(self.client, actions) - self.client.indices.refresh(self._get_index_name(collection_name)) + self.client.indices.refresh(index=self._get_index_name(collection_name)) def delete( self, @@ -263,7 +263,7 @@ class OpenSearchClient(VectorDBBase): self.client.delete_by_query( index=self._get_index_name(collection_name), body=query_body ) - self.client.indices.refresh(self._get_index_name(collection_name)) + self.client.indices.refresh(index=self._get_index_name(collection_name)) def reset(self): indices = self.client.indices.get(index=f"{self.index_prefix}_*")