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.
23 lines
618 B
Python
23 lines
618 B
Python
from langchain.document_loaders import YoutubeLoader
|
|
|
|
from embedchain.utils import clean_string
|
|
|
|
|
|
class YoutubeVideoLoader:
|
|
|
|
def load_data(self, url):
|
|
loader = YoutubeLoader.from_youtube_url(url, add_video_info=True)
|
|
doc = loader.load()
|
|
output = []
|
|
if not len(doc):
|
|
raise ValueError("No data found")
|
|
content = doc[0].page_content
|
|
content = clean_string(content)
|
|
meta_data = doc[0].metadata
|
|
meta_data["url"] = url
|
|
output.append({
|
|
"content": content,
|
|
"meta_data": meta_data,
|
|
})
|
|
return output
|