mirror of
https://github.com/hwchase17/langchain.git
synced 2026-03-18 11:07:36 +00:00
qasper eval
This commit is contained in:
@@ -4,6 +4,7 @@ from pydantic import BaseModel, Extra, Field
|
||||
|
||||
from langchain.chains.qa_with_sources.vector_db import VectorDBQAWithSourcesChain
|
||||
from langchain.chains.vector_db_qa.base import VectorDBQA
|
||||
from langchain.docstore.document import Document
|
||||
from langchain.document_loaders.base import BaseLoader
|
||||
from langchain.embeddings.base import Embeddings
|
||||
from langchain.embeddings.openai import OpenAIEmbeddings
|
||||
@@ -60,13 +61,22 @@ class VectorstoreIndexCreator(BaseModel):
|
||||
extra = Extra.forbid
|
||||
arbitrary_types_allowed = True
|
||||
|
||||
def from_loaders(self, loaders: List[BaseLoader]) -> VectorStoreIndexWrapper:
|
||||
"""Create a vectorstore index from loaders."""
|
||||
docs = []
|
||||
for loader in loaders:
|
||||
docs.extend(loader.load())
|
||||
def _from_docs(self, docs: List[Document]) -> VectorStoreIndexWrapper:
|
||||
sub_docs = self.text_splitter.split_documents(docs)
|
||||
vectorstore = self.vectorstore_cls.from_documents(
|
||||
sub_docs, self.embedding, **self.vectorstore_kwargs
|
||||
)
|
||||
return VectorStoreIndexWrapper(vectorstore=vectorstore)
|
||||
|
||||
def from_text(
|
||||
self, text: str, metadata: Optional[dict] = None
|
||||
) -> VectorStoreIndexWrapper:
|
||||
doc = Document(page_content=text, metadata=metadata or {})
|
||||
return self._from_docs([doc])
|
||||
|
||||
def from_loaders(self, loaders: List[BaseLoader]) -> VectorStoreIndexWrapper:
|
||||
"""Create a vectorstore index from loaders."""
|
||||
docs = []
|
||||
for loader in loaders:
|
||||
docs.extend(loader.load())
|
||||
return self._from_docs(docs)
|
||||
|
||||
Reference in New Issue
Block a user