Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 13981

ValueError:Expected EmbeddingFunction.__call__ need the following signature odict_keys(['self', 'input']),got odict_keys(['self', 'args', 'kwargs'])

$
0
0

Given

def load_pdf():     pdf_name = 'WEF_Global_Risks_Report_2023.pdf'    # loaders = [PyPDFLoader(f"input/{pdf_name}")]    loaders = [PyPDFLoader(pdf_name)]    index = VectorstoreIndexCreator(        embedding = HuggingFaceEmbeddings(model_name='all-MiniLM-L12-v2'),         text_splitter=RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=0)    ).from_loaders(loaders)    return index

I have following error

---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)Cell In[4], line 24     17     index = VectorstoreIndexCreator(     18         embedding = HuggingFaceEmbeddings(model_name='all-MiniLM-L12-v2'),      19         text_splitter=RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=0)     20     ).from_loaders(loaders)     22     return index---> 24 index = load_pdf()Cell In[4], line 20, in load_pdf()     13 # loaders = [PyPDFLoader(f"input/{pdf_name}")]     14 loaders = [PyPDFLoader(pdf_name)]     17 index = VectorstoreIndexCreator(     18     embedding = HuggingFaceEmbeddings(model_name='all-MiniLM-L12-v2'),      19     text_splitter=RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=0)---> 20 ).from_loaders(loaders)     22 return indexFile D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\langchain\indexes\vectorstore.py:82, in VectorstoreIndexCreator.from_loaders(self, loaders)     80 for loader in loaders:     81     docs.extend(loader.load())---> 82 return self.from_documents(docs)File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\langchain\indexes\vectorstore.py:87, in VectorstoreIndexCreator.from_documents(self, documents)     85 """Create a vectorstore index from documents."""     86 sub_docs = self.text_splitter.split_documents(documents)---> 87 vectorstore = self.vectorstore_cls.from_documents(     88     sub_docs, self.embedding, **self.vectorstore_kwargs     89 )     90 return VectorStoreIndexWrapper(vectorstore=vectorstore)File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\langchain\vectorstores\chroma.py:613, in Chroma.from_documents(cls, documents, embedding, ids, collection_name, persist_directory, client_settings, client, collection_metadata, **kwargs)    611 texts = [doc.page_content for doc in documents]    612 metadatas = [doc.metadata for doc in documents]--> 613 return cls.from_texts(    614     texts=texts,    615     embedding=embedding,    616     metadatas=metadatas,    617     ids=ids,    618     collection_name=collection_name,    619     persist_directory=persist_directory,    620     client_settings=client_settings,    621     client=client,    622     collection_metadata=collection_metadata,    623     **kwargs,    624 )File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\langchain\vectorstores\chroma.py:568, in Chroma.from_texts(cls, texts, embedding, metadatas, ids, collection_name, persist_directory, client_settings, client, collection_metadata, **kwargs)    535 @classmethod    536 def from_texts(    537     cls: Type[Chroma],   (...)    547     **kwargs: Any,    548 ) -> Chroma:    549     """Create a Chroma vectorstore from a raw documents.    550     551     If a persist_directory is specified, the collection will be persisted there.   (...)    566         Chroma: Chroma vectorstore.    567     """--> 568     chroma_collection = cls(    569         collection_name=collection_name,    570         embedding_function=embedding,    571         persist_directory=persist_directory,    572         client_settings=client_settings,    573         client=client,    574         collection_metadata=collection_metadata,    575         **kwargs,    576     )    577     chroma_collection.add_texts(texts=texts, metadatas=metadatas, ids=ids)    578     return chroma_collectionFile D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\langchain\vectorstores\chroma.py:126, in Chroma.__init__(self, collection_name, embedding_function, persist_directory, client_settings, collection_metadata, client, relevance_score_fn)    121     self._persist_directory = (    122         _client_settings.persist_directory or persist_directory    123     )    125 self._embedding_function = embedding_function--> 126 self._collection = self._client.get_or_create_collection(    127     name=collection_name,    128     embedding_function=self._embedding_function.embed_documents    129     if self._embedding_function is not None    130     else None,    131     metadata=collection_metadata,    132 )    133 self.override_relevance_score_fn = relevance_score_fnFile D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\api\client.py:237, in Client.get_or_create_collection(self, name, metadata, embedding_function, data_loader)    227 @override    228 def get_or_create_collection(    229     self,   (...)    235     data_loader: Optional[DataLoader[Loadable]] = None,    236 ) -> Collection:--> 237     return self._server.get_or_create_collection(    238         name=name,    239         metadata=metadata,    240         embedding_function=embedding_function,    241         data_loader=data_loader,    242         tenant=self.tenant,    243         database=self.database,    244     )File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\telemetry\opentelemetry\__init__.py:127, in trace_method.<locals>.decorator.<locals>.wrapper(*args, **kwargs)    125 global tracer, granularity    126 if trace_granularity < granularity:--> 127     return f(*args, **kwargs)    128 if not tracer:    129     return f(*args, **kwargs)File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\api\segment.py:216, in SegmentAPI.get_or_create_collection(self, name, metadata, embedding_function, data_loader, tenant, database)    201 @trace_method(    202     "SegmentAPI.get_or_create_collection", OpenTelemetryGranularity.OPERATION    203 )   (...)    214     database: str = DEFAULT_DATABASE,    215 ) -> Collection:--> 216     return self.create_collection(  # type: ignore    217         name=name,    218         metadata=metadata,    219         embedding_function=embedding_function,    220         data_loader=data_loader,    221         get_or_create=True,    222         tenant=tenant,    223         database=database,    224     )File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\telemetry\opentelemetry\__init__.py:127, in trace_method.<locals>.decorator.<locals>.wrapper(*args, **kwargs)    125 global tracer, granularity    126 if trace_granularity < granularity:--> 127     return f(*args, **kwargs)    128 if not tracer:    129     return f(*args, **kwargs)File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\api\segment.py:190, in SegmentAPI.create_collection(self, name, metadata, embedding_function, data_loader, get_or_create, tenant, database)    182 self._product_telemetry_client.capture(    183     ClientCreateCollectionEvent(    184         collection_uuid=str(id),    185         embedding_function=embedding_function.__class__.__name__,    186     )    187 )    188 add_attributes_to_current_span({"collection_uuid": str(id)})--> 190 return Collection(    191     client=self,    192     id=coll["id"],    193     name=name,    194     metadata=coll["metadata"],  # type: ignore    195     embedding_function=embedding_function,    196     data_loader=data_loader,    197     tenant=tenant,    198     database=database,    199 )File D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\api\models\Collection.py:87, in Collection.__init__(self, client, name, id, embedding_function, data_loader, tenant, database, metadata)     85 # Check to make sure the embedding function has the right signature, as defined by the EmbeddingFunction protocol     86 if embedding_function is not None:---> 87     validate_embedding_function(embedding_function)     89 self._embedding_function = embedding_function     90 self._data_loader = data_loaderFile D:\C_Drive\Hardlink\Users\TTHCMM\Envs\generic\lib\site-packages\chromadb\api\types.py:196, in validate_embedding_function(embedding_function)    193 protocol_signature = signature(EmbeddingFunction.__call__).parameters.keys()    195 if not function_signature == protocol_signature:--> 196     raise ValueError(    197         f"Expected EmbeddingFunction.__call__ to have the following signature: {protocol_signature}, got {function_signature}\n"    198         "Please see https://docs.trychroma.com/embeddings for details of the EmbeddingFunction interface.\n"    199         "Please note the recent change to the EmbeddingFunction interface: https://docs.trychroma.com/migration#migration-to-0416---november-7-2023 \n"    200     )ValueError: Expected EmbeddingFunction.__call__ to have the following signature: odict_keys(['self', 'input']), got odict_keys(['self', 'args', 'kwargs'])Please see https://docs.trychroma.com/embeddings for details of the EmbeddingFunction interface.Please note the recent change to the EmbeddingFunction interface: https://docs.trychroma.com/migration#migration-to-0416---november-7-2023

How to resolve it?


Viewing all articles
Browse latest Browse all 13981

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>