Skip to content

Commit bb54503

Browse files
[langchain-db2/fix]: Fixed providing client instance object to _create_table function (#92)
* fix providing client instance object to _create_table function * change type style to snake case, init cursor outside try except block
1 parent 0222427 commit bb54503

File tree

1 file changed

+8
-8
lines changed
  • libs/langchain-db2/langchain_db2

1 file changed

+8
-8
lines changed

libs/langchain-db2/langchain_db2/db2vs.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ def wrapper(*args: Any, **kwargs: Any) -> Any:
7474

7575

7676
def _table_exists(client: Connection, table_name: str) -> bool:
77+
cursor = client.cursor()
7778
try:
78-
cursor = client.cursor()
7979
cursor.execute(f"SELECT COUNT(*) FROM {table_name}")
8080
except Exception as ex:
8181
if "SQL0204N" in str(ex):
@@ -239,7 +239,7 @@ def __init__(
239239
self.table_name = table_name
240240
self.distance_strategy = distance_strategy
241241
self.params = params
242-
_create_table(client, table_name, embedding_dim)
242+
_create_table(self.client, self.table_name, embedding_dim)
243243
except ibm_db_dbi.DatabaseError as db_err:
244244
logger.exception(f"Database error occurred while create table: {db_err}")
245245
raise RuntimeError(
@@ -375,7 +375,7 @@ def add_texts(
375375
if not metadatas:
376376
metadatas = [{} for _ in texts]
377377

378-
embeddingLen = self.get_embedding_dimension()
378+
embedding_len = self.get_embedding_dimension()
379379
docs: List[Tuple[Any, Any, Any, Any]]
380380
docs = [
381381
(id_, f"{embedding}", json.dumps(metadata), text)
@@ -386,7 +386,7 @@ def add_texts(
386386

387387
SQL_INSERT = (
388388
f"INSERT INTO {self.table_name} (id, embedding, metadata, text) "
389-
f"VALUES (?, VECTOR(?, {embeddingLen}, FLOAT32), SYSTOOLS.JSON2BSON(?), ?)"
389+
f"VALUES (?, VECTOR(?, {embedding_len}, FLOAT32), SYSTOOLS.JSON2BSON(?), ?)"
390390
)
391391

392392
cursor = self.client.cursor()
@@ -455,13 +455,13 @@ def similarity_search_by_vector_with_relevance_scores(
455455
**kwargs: Any,
456456
) -> List[Tuple[Document, float]]:
457457
docs_and_scores = []
458-
embeddingLen = self.get_embedding_dimension()
458+
embedding_len = self.get_embedding_dimension()
459459

460460
query = f"""
461461
SELECT id,
462462
text,
463463
SYSTOOLS.BSON2JSON(metadata),
464-
vector_distance(embedding, VECTOR('{embedding}', {embeddingLen}, FLOAT32),
464+
vector_distance(embedding, VECTOR('{embedding}', {embedding_len}, FLOAT32),
465465
{_get_distance_function(self.distance_strategy)}) as distance
466466
FROM {self.table_name}
467467
ORDER BY distance
@@ -509,13 +509,13 @@ def similarity_search_by_vector_returning_embeddings(
509509
**kwargs: Any,
510510
) -> List[Tuple[Document, float, np.ndarray]]:
511511
documents = []
512-
embeddingLen = self.get_embedding_dimension()
512+
embedding_len = self.get_embedding_dimension()
513513

514514
query = f"""
515515
SELECT id,
516516
text,
517517
SYSTOOLS.BSON2JSON(metadata),
518-
vector_distance(embedding, VECTOR('{embedding}', {embeddingLen}, FLOAT32),
518+
vector_distance(embedding, VECTOR('{embedding}', {embedding_len}, FLOAT32),
519519
{_get_distance_function(self.distance_strategy)}) as distance,
520520
embedding
521521
FROM {self.table_name}

0 commit comments

Comments
 (0)