Add simple app functionality
This commit enables anyone to create a app and add 3 types of data sources: * pdf file * youtube video * website It exposes a function called query which first gets similar docs from vector db and then passes it to LLM to get the final answer.
This commit is contained in:
23
embedchain/loaders/pdf_file.py
Normal file
23
embedchain/loaders/pdf_file.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from langchain.document_loaders import PyPDFLoader
|
||||
|
||||
from embedchain.utils import clean_string
|
||||
|
||||
|
||||
class PdfFileLoader:
|
||||
|
||||
def load_data(self, url):
|
||||
loader = PyPDFLoader(url)
|
||||
output = []
|
||||
pages = loader.load_and_split()
|
||||
if not len(pages):
|
||||
raise ValueError("No data found")
|
||||
for page in pages:
|
||||
content = page.page_content
|
||||
content = clean_string(content)
|
||||
meta_data = page.metadata
|
||||
meta_data["url"] = url
|
||||
output.append({
|
||||
"content": content,
|
||||
"meta_data": meta_data,
|
||||
})
|
||||
return output
|
||||
Reference in New Issue
Block a user