Spaces:
Running
Running
File size: 1,725 Bytes
3a7387c ce02056 b9891ea 3a7387c ce02056 3a7387c ce02056 3a7387c ce02056 3a7387c ce02056 3a7387c ce02056 3a7387c b9891ea |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import os
from flask import Flask, render_template, request
from rss_processor import fetch_rss_feeds, process_and_store_articles, vector_db
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
articles = fetch_rss_feeds()
process_and_store_articles(articles)
stored_docs = vector_db.similarity_search("news", k=len(articles))
enriched_articles = [
{
"title": doc.metadata["title"],
"link": doc.metadata["link"],
"summary": doc.page_content,
"category": doc.metadata["category"],
"sentiment": doc.metadata["sentiment"],
"published": doc.metadata["published"],
}
for doc in stored_docs
]
if request.method == 'POST':
query = request.form.get('search')
if query:
results = vector_db.similarity_search(query, k=10)
enriched_articles = [
{
"title": doc.metadata["title"],
"link": doc.metadata["link"],
"summary": doc.page_content,
"category": doc.metadata["category"],
"sentiment": doc.metadata["sentiment"],
"published": doc.metadata["published"],
}
for doc in results
]
categorized_articles = {}
for article in enriched_articles:
cat = article["category"]
if cat not in categorized_articles:
categorized_articles[cat] = []
categorized_articles[cat].append(article)
return render_template("index.html", categorized_articles=categorized_articles)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860) |