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:
30
embedchain/loaders/website.py
Normal file
30
embedchain/loaders/website.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import requests
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from embedchain.utils import clean_string
|
||||
|
||||
|
||||
class WebsiteLoader:
|
||||
|
||||
def load_data(self, url):
|
||||
response = requests.get(url)
|
||||
data = response.content
|
||||
soup = BeautifulSoup(data, 'html.parser')
|
||||
for tag in soup([
|
||||
"nav", "aside", "form", "header",
|
||||
"noscript", "svg", "canvas",
|
||||
"footer", "script", "style"
|
||||
]):
|
||||
tag.string = " "
|
||||
output = []
|
||||
content = soup.get_text()
|
||||
content = clean_string(content)
|
||||
meta_data = {
|
||||
"url": url,
|
||||
}
|
||||
output.append({
|
||||
"content": content,
|
||||
"meta_data": meta_data,
|
||||
})
|
||||
return output
|
||||
Reference in New Issue
Block a user