mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-08-21 07:02:25 +02:00
39 lines
910 B
Python
39 lines
910 B
Python
# main.py
|
|
|
|
from duckduckgo_search import DDGS
|
|
from fastapi import FastAPI
|
|
from langchain.document_loaders import AsyncHtmlLoader
|
|
from langchain.document_transformers import Html2TextTransformer
|
|
|
|
ddgs = DDGS()
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
@app.get("/")
|
|
def read_root():
|
|
return {"Hello": "World"}
|
|
|
|
|
|
@app.get("/query")
|
|
def read_item(query: str):
|
|
query = query.strip().strip('"')
|
|
search_results = ddgs.text(query)
|
|
urls_to_look = []
|
|
for res in search_results:
|
|
if res.get("href", None):
|
|
urls_to_look.append(res["href"])
|
|
if len(urls_to_look) >= 4:
|
|
break
|
|
|
|
# Relevant urls
|
|
# Load, split, and add new urls to vectorstore
|
|
if urls_to_look:
|
|
loader = AsyncHtmlLoader(urls_to_look)
|
|
html2text = Html2TextTransformer()
|
|
docs = loader.load()
|
|
docs = list(html2text.transform_documents(docs))
|
|
else:
|
|
docs = []
|
|
return docs
|