update of Vectara component

This commit is contained in:
Ofer Mendelevitch 2023-10-14 03:03:30 -07:00
commit 7fbb1078da

View file

@ -5,7 +5,6 @@ from langchain.vectorstores import Vectara
from langchain.schema import Document from langchain.schema import Document
from langchain.vectorstores.base import VectorStore from langchain.vectorstores.base import VectorStore
from langchain.schema import BaseRetriever from langchain.schema import BaseRetriever
from langchain.embeddings.base import Embeddings
class VectaraComponent(CustomComponent): class VectaraComponent(CustomComponent):
@ -22,7 +21,6 @@ class VectaraComponent(CustomComponent):
"vectara_api_key": {"display_name": "Vectara API Key", "password": True}, "vectara_api_key": {"display_name": "Vectara API Key", "password": True},
"code": {"show": False}, "code": {"show": False},
"documents": {"display_name": "Documents"}, "documents": {"display_name": "Documents"},
"embedding": {"display_name": "Embedding"},
} }
def build( def build(
@ -30,21 +28,21 @@ class VectaraComponent(CustomComponent):
vectara_customer_id: str, vectara_customer_id: str,
vectara_corpus_id: str, vectara_corpus_id: str,
vectara_api_key: str, vectara_api_key: str,
embedding: Optional[Embeddings] = None,
documents: Optional[Document] = None, documents: Optional[Document] = None,
) -> Union[VectorStore, BaseRetriever]: ) -> Union[VectorStore, BaseRetriever]:
# If documents, then we need to create a Vectara instance using .from_documents # If documents, then we need to create a Vectara instance using .from_documents
if documents is not None and embedding is not None: if documents is not None:
return Vectara.from_documents( return Vectara.from_documents(
documents=documents, # type: ignore documents=documents, # type: ignore
vectara_customer_id=vectara_customer_id, vectara_customer_id=vectara_customer_id,
vectara_corpus_id=vectara_corpus_id, vectara_corpus_id=vectara_corpus_id,
vectara_api_key=vectara_api_key, vectara_api_key=vectara_api_key,
embedding=embedding, source='langflow',
) )
return Vectara( return Vectara(
vectara_customer_id=vectara_customer_id, vectara_customer_id=vectara_customer_id,
vectara_corpus_id=vectara_corpus_id, vectara_corpus_id=vectara_corpus_id,
vectara_api_key=vectara_api_key, vectara_api_key=vectara_api_key,
source='langflow',
) )