From 83b84d2e9097ea8ef1f3c9673a34e7a03395dd5a Mon Sep 17 00:00:00 2001 From: Jack Wotherspoon Date: Mon, 15 Apr 2024 17:28:04 -0400 Subject: [PATCH] fix: allow similarity search on table names with special characters --- src/langchain_google_cloud_sql_mysql/vectorstore.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/langchain_google_cloud_sql_mysql/vectorstore.py b/src/langchain_google_cloud_sql_mysql/vectorstore.py index 2ac2f93..ba7521e 100644 --- a/src/langchain_google_cloud_sql_mysql/vectorstore.py +++ b/src/langchain_google_cloud_sql_mysql/vectorstore.py @@ -675,7 +675,7 @@ def _query_collection( ) if query_options.search_type == SearchType.KNN: filter = f"WHERE {filter}" if filter else "" - stmt = f"SELECT {column_query}, {distance_function}({self.embedding_column}, string_to_vector('{embedding}')) AS distance FROM {self.table_name} {filter} ORDER BY distance LIMIT {k};" + stmt = f"SELECT {column_query}, {distance_function}({self.embedding_column}, string_to_vector('{embedding}')) AS distance FROM `{self.table_name}` {filter} ORDER BY distance LIMIT {k};" else: filter = f"AND {filter}" if filter else "" num_partitions = ( @@ -683,7 +683,7 @@ def _query_collection( if query_options.num_partitions else "" ) - stmt = f"SELECT {column_query}, {distance_function}({self.embedding_column}, string_to_vector('{embedding}')) AS distance FROM {self.table_name} WHERE NEAREST({self.embedding_column}) TO (string_to_vector('{embedding}'), 'num_neighbors={k}{num_partitions}') {filter} ORDER BY distance;" + stmt = f"SELECT {column_query}, {distance_function}({self.embedding_column}, string_to_vector('{embedding}')) AS distance FROM `{self.table_name}` WHERE NEAREST({self.embedding_column}) TO (string_to_vector('{embedding}'), 'num_neighbors={k}{num_partitions}') {filter} ORDER BY distance;" # return self.engine._fetch(stmt) if map_results: