Find answers from the community

Updated 11 months ago

Validation error IngestionPipeline

At a glance

The community member is trying to deploy an IngestionPipeline using ChromaVectorStore and TextEmbeddingsInference, both containerized as Docker services, but is encountering validation errors. The errors indicate that the community member is unable to instantiate abstract classes TransformComponent and BasePydanticVectorStore.

In the comments, another community member suggests checking if the community member is using a mix of .legacy and core imports, and advises using all .legacy imports or none at all. The community member confirms that the issue was caused by a mix of core and legacy imports, and that the problem is now resolved.

Another community member asks about the ratio between legacy and core definitions, and a third community member explains that .legacy is a backport of version 0.9.48 to help people who don't want to migrate their code, but that it will eventually be removed.

i'm trying to deploy my IngestionPipeline using ChromaVectorStore and TextEmbeddingsInference both containerized as docker services but i'm getting the following issues:

Plain Text
ValidationError                           Traceback (most recent call last)
...
ValidationError: 2 validation errors for IngestionPipeline
transformations -> 1
  Can't instantiate abstract class TransformComponent with abstract method __call__ (type=type_error)
vector_store
  Can't instantiate abstract class BasePydanticVectorStore with abstract methods add, client, delete, query (type=type_error)


this is how i setup the pipeline:

Plain Text
vector_store = ChromaVectorStore(host="localhost", port=8000, chroma_collection="articles")

ingestion_pipeline = IngestionPipeline(
    transformations=[
        TokenTextSplitter(chunk_size=512),
        TextEmbeddingsInference(
            base_url='http://localhost:8001',
            embed_batch_size=10,
            model_name="BAAI/bge-small-en-v1.5"
        ),
    ],
    vector_store=vector_store,
)
e
W
L
10 comments
@WhiteFang_Jr any thought on this?
Not much πŸ™ , We will have to wait for Logan on this.
Thanks! @Logan M I owe you far too much ahah
We all do!πŸ˜†
Are you using .legacy import anywhere? Need to be sure to use all .legacy or none at all
it was a mix of core and legacy, just tried. Now it's working!!
but let me take the opportunity to ask you what is the ratio between legacy and core definitions
apparently i've been away from llamaindex for too long ahah
legacy is just a backport of v0.9.48, to help people who don't want to migrate their code.

So you can use all llama_index.legacy imports to make it more like using v0.9.48
Eventually, this will be removed though (not for several months anyways)
Add a reply
Sign up and join the conversation on Discord