Closed ewx-mjanda closed 2 hours ago
Hello @ewx-mjanda! I'm here to help you with any bugs, questions, or contributions. Let's work together to resolve the issue you're facing.
I couldn't find a specific solution for the TimescaleVectorStore
class regarding the client
method, but a similar issue was discussed for the VectorStore2
class. In that case, the error "Can't instantiate abstract class with abstract method 'client'" was resolved by providing an implementation for the client
method in a subclass [1].
You might need to create a subclass of TimescaleVectorStore
and implement the client
method. Here's a general approach you can try:
from llama_index.vector_stores.timescalevector import TimescaleVectorStore
class MyTimescaleVectorStore(TimescaleVectorStore):
@property
def client(self):
# Provide the implementation for the abstract method 'client'
return None # or return the actual client instance
# Use MyTimescaleVectorStore instead of TimescaleVectorStore
vector_store = MyTimescaleVectorStore.from_params(
service_url=TIMESCALE_SERVICE_URL,
table_name="TestTable",
num_dimensions=1536,
)
This example shows how to create a concrete subclass that implements the client
method. You will need to replace None
with the actual client instance or logic required for your use case.
To continue talking to Dosu, mention @dosu.
Bug Description
Currently exploring using TimeScaleVectorStore for some work with AI time series. Getting the below error message using just the documentation examples:
Exception has occurred: TypeError Can't instantiate abstract class TimescaleVectorStore with abstract method client File "/home/mjanda/dev/llama/src/TestCase.py", line 9, in
vector_store = TimescaleVectorStore.from_params(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Can't instantiate abstract class TimescaleVectorStore with abstract method client
Version
0.11.17
Steps to Reproduce
import os from dotenv import find_dotenv, load_dotenv from llama_index.vector_stores.timescalevector import TimescaleVectorStore
_ = load_dotenv(find_dotenv())
TIMESCALE_SERVICE_URL = os.environ["TIMESCALE_SERVICE_URL"]
vector_store = TimescaleVectorStore.from_params( service_url=TIMESCALE_SERVICE_URL, table_name="TestTable", num_dimensions=1536, # Adjust this based on your requirements )
Relevant Logs/Tracbacks
No response